Android 混淆

-optimizationpasses 5 # 指定代碼的壓縮級別
-dontusemixedcaseclassnames # 是否使用大小寫混合
-dontpreverify # 混淆時是否做預校驗
-verbose # 混淆時是否記錄日誌
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* # 混淆時所採用的算法
-keep public class * extends android.app.Activity # 保持Activity類不被混淆
-keep public class * extends android.app.Application # 保持Application類不被混淆
-keep public class * extends android.app.Service # 保持Service類不被混淆
-keep public class * extends android.content.BroadcastReceiver # 保持BroadcastReceiver類不被混淆
-keep public class * extends android.content.ContentProvider # 保持ContentProvider類不被混淆
-keep public class * extends android.app.backup.BackupAgentHelper # 保持BackupAgentHelper類不被混淆
-keep public class * extends android.preference.Preference # 保持Preference類不被混淆
-keep public class com.android.vending.licensing.ILicensingService # 保持ILicensingService類不被混淆

-keepclasseswithmembernames class * { # 保持 native 方法不被混淆
   native <methods>;
}
-keepclasseswithmembers class * { # 保持自定義控件類不被混淆
   public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {# 保持自定義控件類不被混淆
   public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * extends android.app.Activity { # 保持自定義控件類不被混淆
   public void *(android.view.View);
}
-keepclassmembers enum * { # 保持枚舉 enum 類不被混淆
   public static **[] values();
   public static ** valueOf(java.lang.String);
}

-keep class * implements android.os.Parcelable {#保持Parcelable不被混淆
   public static final android.os.Parcelable$Creator *;
}

# 保持實現序列化的不被混淆
-keep public class * implements java.io.Serializable {*;}
-keepclassmembers class * implements java.io.Serializable {
   static final long serialVersionUID;
   private static final java.io.ObjectStreamField[]   serialPersistentFields;
   private void writeObject(java.io.ObjectOutputStream);
   private void readObject(java.io.ObjectInputStream);
   java.lang.Object writeReplace();
   java.lang.Object readResolve();
}
-keepclassmembers class * {
   public <init> (org.json.JSONObject);
}

#保持R文件不被混淆
-keep public class com.example.wen.activityapp.R$*{
   public static final int *;
}

-dontwarn javax.annotation.**
-dontwarn javax.inject.**
# OkHttp3
-dontwarn okhttp3.logging.**
-keep class okhttp3.internal.**{*;}
-dontwarn okio.**

# Retrofit
-dontnote retrofit2.Platform
-dontnote retrofit2.Platform$IOS$MainThreadExecutor
-dontwarn retrofit2.Platform$Java8
-keepattributes Signature
-keepattributes Exceptions
# Gson
-keep class com.google.gson.stream.** { *; }
-keepattributes EnclosingMethod
# rx
-dontwarn rx.**
-keepclassmembers class rx.** { *; }
發佈了90 篇原創文章 · 獲贊 3 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章