proguar在Android混淆中的用法

混淆器通過(guò)刪除從未用過(guò)的代碼和使用晦澀名字重命名類、字段和方法,對(duì)代碼進(jìn)行壓縮,優(yōu)化和混淆。結(jié)果是一個(gè)比較小的.apk文件,該文件比較難進(jìn)行逆向project。因此,當(dāng)你的應(yīng)用程序?qū)Π踩舾校ㄒ蟾撸?,比如?dāng)你授權(quán)應(yīng)用程序的時(shí)候,混淆器是一種重要的保護(hù)手段。

武江網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),武江網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為武江成百上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的武江做網(wǎng)站的公司定做!

proguard 基本語(yǔ)法

// 保留native方法的方法的方法名和包含native方法的類的類名不變

-keepclasseswithmembernames class {
  native<methods>;
}

// 保留繼承與View的類中的set*和get*方法
-keepclassmembers public class * extends android.view.View {
  void set*(***);
  *** get*();
}

// 保留繼承與Activity的類中以View為參數(shù)的方法
-keepclassmembers class * extends android.app.Activity {
  public void *(android.view.View);
}

// 保留實(shí)現(xiàn)了Parcelable 接口的類的類名以及實(shí)現(xiàn)了 Parcelanle$Creator 的內(nèi)部類
-keep class * implemenets android.os.Parcelable {
  public static final android.os.Parcelanle$Creator *;
}

// 保留 R$*類中靜態(tài)字段的字段名
-keep class **.R$* {
  public static <fields>;
}

也就是

類名不混淆 用keep

方法名不混淆 用keepclassmembers 或者 keepclasseswithmembernames(后者用于native不混淆)

不混淆的情況:

1 jni 調(diào)用java方法

2 四大組件

3 R文件

4 某些通過(guò)反射調(diào)用的類或方法

5 第三jar包(一般情況下不要混淆)

混淆去掉log

-assumenosideeffects class android.util.Log {
public static boolean isLoggable(java.lang.String,int);
public static int v(...);
public static int i(...);
public static int w(...);
public static int d(...);
public static int e(...);
}

 assumenosideeffects,proguard 配置文件里的參數(shù)。assume no side effects;假定無(wú)效;該屬性也就是標(biāo)識(shí)無(wú)效代碼。我們就是通過(guò)這個(gè)參數(shù)來(lái)讓proguard刪除日志代碼。

新聞標(biāo)題:proguar在Android混淆中的用法
鏈接URL:http://muchs.cn/article14/gcecge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、網(wǎng)站策劃、外貿(mào)網(wǎng)站建設(shè)品牌網(wǎng)站設(shè)計(jì)、定制網(wǎng)站、響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)