国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

proguar在Android混淆中的用法

2019-10-22 18:22:30
字體:
供稿:網(wǎng)友

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

proguard 基本語法

// 保留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);}// 保留實現(xiàn)了Parcelable 接口的類的類名以及實現(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 某些通過反射調(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;假定無效;該屬性也就是標識無效代碼。我們就是通過這個參數(shù)來讓proguard刪除日志代碼。


注:相關(guān)教程知識閱讀請移步到Android開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 吴江市| 同心县| 西充县| 时尚| 汉源县| 大关县| 时尚| 孟州市| 永登县| 哈密市| 淄博市| 长春市| 建水县| 建平县| 宜兰市| 丹巴县| 卢氏县| 峨边| 福建省| 珲春市| 马公市| 安岳县| 玉田县| 盱眙县| 都匀市| 陇南市| 乌兰察布市| 西吉县| 桃园县| 白朗县| 德兴市| 峨边| 炎陵县| 武功县| 垫江县| 石台县| 长治县| 渑池县| 福清市| 鄂尔多斯市| 宣化县|