91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

proguar在Android混淆中的用法

發布時間:2020-09-04 16:19:29 來源:腳本之家 閱讀:112 作者:laozhang 欄目:移動開發

混淆器通過刪除從未用過的代碼和使用晦澀名字重命名類、字段和方法,對代碼進行壓縮,優化和混淆。結果是一個比較小的.apk文件,該文件比較難進行逆向project。因此,當你的應用程序對安全敏感(要求高),比如當你授權應用程序的時候,混淆器是一種重要的保護手段。

proguard 基本語法

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

-keepclasseswithmembernames class {
  native<methods>;
}

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

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

// 保留實現了Parcelable 接口的類的類名以及實現了 Parcelanle$Creator 的內部類
-keep class * implemenets android.os.Parcelable {
  public static final android.os.Parcelanle$Creator *;
}

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

也就是

類名不混淆 用keep

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

不混淆的情況:

1 jni 調用java方法

2 四大組件

3 R文件

4 某些通過反射調用的類或方法

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 配置文件里的參數。assume no side effects;假定無效;該屬性也就是標識無效代碼。我們就是通過這個參數來讓proguard刪除日志代碼。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

辉南县| 西贡区| 深圳市| 大城县| 山西省| 鲁甸县| 新建县| 佛坪县| 蚌埠市| 泰兴市| 宁南县| 延川县| 敖汉旗| 阿巴嘎旗| 宜君县| 上虞市| 鹤壁市| 洛浦县| 巴彦淖尔市| 缙云县| 武城县| 永城市| 岱山县| 锦州市| 南投县| 洪洞县| 景宁| 彭阳县| 砚山县| 崇仁县| 承德县| 滦南县| 镇安县| 万州区| 曲周县| 衡阳市| 富锦市| 郁南县| 阜平县| 达孜县| 绥化市|