国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 大丰市| 海兴县| 鞍山市| 商丘市| 安塞县| 天柱县| 东辽县| 巴里| 威海市| 健康| 都匀市| 海晏县| 安顺市| 汕头市| 龙山县| 清丰县| 罗山县| 霍林郭勒市| 潮州市| 常山县| 沙雅县| 嘉禾县| 体育| 梁山县| 江源县| 庐江县| 凌源市| 广州市| 阳春市| 佛教| 宁晋县| 阜新市| 柘荣县| 洛宁县| 宁陵县| 宜黄县| 延长县| 搜索| 九龙城区| 阜城县| 侯马市|