# If your project uses WebView with JS, uncomment the following# and specify the fully qualified class name to the JavaScript interface# class:#-keepclassmembers class fqcn.of.javascript.interface.for.webview {#   public *;#}# 指定代码的压缩级别-optimizationpasses 5# 是否使用大小写混合-dontusemixedcaseclassnames# 是否混淆第三方jar-dontskipnonpubliclibraryclasses-dontoptimize# 预校验-dontpreverify# 混淆时是否记录日志-verbose# 混淆时所采用的算法-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*# 保护注解#-keepattributes *Annotation*#避免混淆泛型 如果混淆报错建议关掉#-keepattributes Signature# 保持哪些类不被混淆-keep public class * extends android.app.Activity-keep public class * extends android.app.Application-keep public class * extends android.app.Service-keep public class * extends android.app.IntentService-keep public class * extends android.content.BroadcastReceiver-keep public class * extends android.content.ContentProvider-keep public class * extends android.app.backup.BackupAgentHelper-keep public class * extends android.preference.Preference-keep public class com.android.vending.licensing.ILicensingService-keep public class * extends android.support.v4.app.Fragment#忽略警告-ignorewarning##记录生成的日志数据,gradle build时在本项目根目录输出###apk 包内所有 class 的内部结构-dump class_files.txt#未混淆的类和成员-printseeds seeds.txt#列出从 apk 中删除的代码-printusage unused.txt#混淆前后的映射#-printmapping mapping.txt########记录生成的日志数据,gradle build时 在本项目根目录输出-end###########混淆保护自己项目的部分代码以及引用的第三方jar包library########-libraryjars libs/umeng-analytics-v5.2.4.jar#三星应用市场需要添加:sdk-v1.0.0.jar,look-v1.0.1.jar#-libraryjars libs/sdk-v1.0.0.jar#-libraryjars libs/look-v1.0.1.jar#如果引用了v4或者v7包-dontwarn android.support.**-keep class android.support.** {*; }####混淆保护自己项目的部分代码以及引用的第三方jar包library-end####-keep public class * extends android.view.View {    public (android.content.Context);    public (android.content.Context, android.util.AttributeSet);    public (android.content.Context, android.util.AttributeSet, int);    public void set*(...);}#保持 native 方法不被混淆-keepclasseswithmembernames class * {    native ;}#保持自定义控件类不被混淆-keepclasseswithmembers class * {    public (android.content.Context);}-keepclasseswithmembernames class * {    public (android.content.Context, android.util.AttributeSet);}-keepclasseswithmembernames class * {    public (android.content.Context, android.util.AttributeSet, int);}#保持 Parcelable 不被混淆-keep class * implements android.os.Parcelable {  public static final android.os.Parcelable$Creator *;}#保持 Serializable 不被混淆-keepnames class * implements java.io.Serializable#保持 Serializable 不被混淆并且enum 类也不被混淆-keepclassmembers class * implements java.io.Serializable {    static final long serialVersionUID;    private static final java.io.ObjectStreamField[] serialPersistentFields;    !static !transient ;    !private ;    !private ;    private void writeObject(java.io.ObjectOutputStream);    private void readObject(java.io.ObjectInputStream);    java.lang.Object writeReplace();    java.lang.Object readResolve();    public void set*(***);    public *** get*();}#保持枚举 enum 类不被混淆 如果混淆报错,建议直接使用上面的 -keepclassmembers class * implements java.io.Serializable即可-keepclassmembers enum * {    public static **[] values();    public static ** valueOf(java.lang.String);}-keepclassmembers class * {    public void *ButtonClicked(android.view.View);}#不混淆资源类-keepclassmembers class **.R$* {    public static ;}# Gson uses generic type information stored in a class file when working with fields. Proguard# removes such information by default, so configure it to keep all of it.-keepattributes Signature# For using GSON @Expose annotation-keepattributes *Annotation*# Gson specific classes-keep class sun.misc.Unsafe { *; }#-keep class com.google.gson.stream.** { *; }# Application classes that will be serialized/deserialized over Gson#-keep class com.google.gson.examples.android.model.** { *; }#第三方jar包-keep class com.nostra13.universalimageloader.** { *; }-keep class com.android.volley.** {*; }-keep class org.apache.http.** {*; }

更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  3. Android(安卓)view刷新
  4. Robotium_Automated UI testing for Android(安卓)applications
  5. Android(安卓)系统编译环境设置及源代码编译
  6. Android开源项目分类汇总
  7. android 添加混淆
  8. DrawerLayout中加入多个View
  9. AndroidManifest.xml简单解析

随机推荐

  1. 源码茶舍之android:externalService是什
  2. Android如何设置圆角按钮 类似微信的登陆
  3. Android学习路线
  4. JPCT-AE for Android 3D (一)----------H
  5. Android 进程间通信:AIDL
  6. 前端h5与 Android/iOS 交互传参
  7. [Android]如何获得heap的大小
  8. Android 利用drawable中的gradient属性实
  9. android的binder机制研究二
  10. Android、iOS系统架构