-optimizationpasses 5 # 指定代码的压缩级别 默认为5
-dontusemixedcaseclassnames # 是否使用大小写混合 (即小写)
-dontskipnonpubliclibraryclasses # 是否混淆第三方jar (否)
-dontpreverify # 混淆时是否做预校验 (否)
-verbose # 混淆时是否记录日志
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* # 混淆时所采用的算法(谷歌)
-keepattributes *Annotation* #假如项目中有用到注解 应用加入
-keepattributes Signature
#声明第三方包
-libraryjars libs/alipaysdk.jar
-libraryjars libs/alipaysecsdk.jar
-libraryjars libs/alipayutdid.jar
-libraryjars libs/android_api_1.1_forsdk.jar
-libraryjars libs/android-support-v4.jar
-libraryjars libs/BaiduLBS_Android.jar
-libraryjars libs/galaxy_mini.jar
-libraryjars libs/jackson-core-asl-1.8.9.jar
-libraryjars libs/jackson-mapper-asl-1.8.9.jar
-libraryjars libs/jpush-sdk-release1.7.3.jar
-libraryjars libs/simple-xml-2.6.2.jar
-libraryjars libs/spring_android_rest_template_1.0.0.1_release.jar
-libraryjars libs/umeng-analytics-v5.5.3.jar
#API里面的类,如果混淆编译不通过
-keep class com.baidu.** { *; }
-keep class vi.com.gdi.bgl.android.**{*;}
-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.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.ILicensingServices
#保留实体类
-keep class cn.com.lmbj.car.entity.** { *; }
-keep class cn.com.lmbj.car.util.**{ *; }
-keep class cn.com.lmbj.car.base.**{ *; }
-keep class cn.com.lmbj.car.net.**{ *; }
-dontwarn android.support.v4.**
-keep class android.support.v4.** { *; }
-dontwarn com.sinovoice.hcicloudsdk.**
-keep class com.sinovoice.hcicloudsdk.**{ *;}
-dontwarn org.w3c.dom.**
-keep class org.w3c.dom.**{ *;}
-dontwarn org.joda.time.**
-keep class org.joda.time.**{ *;}
-dontwarn javax.xml.stream.**
-keep class javax.xml.stream.**{ *;}
-dontwarn org.springframework.**
-keep class org.springframework.**{ *;}
-dontwarn com.google.gson.**
-keep class com.google.gson.**{ *;}
-keep class org.json.** {*;}
-keep public class * extends android.support.v4.**
-keep public class * extends android.support.v4.app.Fragment
-keep public class * extends android.support.v4.app.FragmentActivity
-keep public class android.support.v4.accessibilityservice.** { *; }
-keep public class android.support.v4.app.** { *; }
-keep public class android.support.v4.os.** { *; }
-keep public class android.support.v4.view.** { *; }
-keep public class android.support.v4.widget.** { *; }
# 保持 native 方法不被混淆
-keepclasseswithmembernames class * {
native <methods>;
}
# 保持自定义控件类不被混淆
-keepclasseswithmembernames class * {
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembernames class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
# 保持枚举 enum 类不被混淆
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keepclassmembers class * extends android.content.Context {
public void *(android.view.View);
public void *(android.view.MenuItem);
}
#保留View子类读取XML的构造方法:
-keep public class * extends android.view.View {
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
public void set*(...);
}
# 保持 Parcelable 不被混淆
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
-keepclasseswithmembers class * {
public <init>(android.content.Context);
}
#保持R文件
-keep public class cn.com.lmbj.car.R$*{
public static final int *;
}
-dontusemixedcaseclassnames # 是否使用大小写混合 (即小写)
-dontskipnonpubliclibraryclasses # 是否混淆第三方jar (否)
-dontpreverify # 混淆时是否做预校验 (否)
-verbose # 混淆时是否记录日志
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* # 混淆时所采用的算法(谷歌)
-keepattributes *Annotation* #假如项目中有用到注解 应用加入
-keepattributes Signature
#声明第三方包
-libraryjars libs/alipaysdk.jar
-libraryjars libs/alipaysecsdk.jar
-libraryjars libs/alipayutdid.jar
-libraryjars libs/android_api_1.1_forsdk.jar
-libraryjars libs/android-support-v4.jar
-libraryjars libs/BaiduLBS_Android.jar
-libraryjars libs/galaxy_mini.jar
-libraryjars libs/jackson-core-asl-1.8.9.jar
-libraryjars libs/jackson-mapper-asl-1.8.9.jar
-libraryjars libs/jpush-sdk-release1.7.3.jar
-libraryjars libs/simple-xml-2.6.2.jar
-libraryjars libs/spring_android_rest_template_1.0.0.1_release.jar
-libraryjars libs/umeng-analytics-v5.5.3.jar
#API里面的类,如果混淆编译不通过
-keep class com.baidu.** { *; }
-keep class vi.com.gdi.bgl.android.**{*;}
-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.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.ILicensingServices
#保留实体类
-keep class cn.com.lmbj.car.entity.** { *; }
-keep class cn.com.lmbj.car.util.**{ *; }
-keep class cn.com.lmbj.car.base.**{ *; }
-keep class cn.com.lmbj.car.net.**{ *; }
-dontwarn android.support.v4.**
-keep class android.support.v4.** { *; }
-dontwarn com.sinovoice.hcicloudsdk.**
-keep class com.sinovoice.hcicloudsdk.**{ *;}
-dontwarn org.w3c.dom.**
-keep class org.w3c.dom.**{ *;}
-dontwarn org.joda.time.**
-keep class org.joda.time.**{ *;}
-dontwarn javax.xml.stream.**
-keep class javax.xml.stream.**{ *;}
-dontwarn org.springframework.**
-keep class org.springframework.**{ *;}
-dontwarn com.google.gson.**
-keep class com.google.gson.**{ *;}
-keep class org.json.** {*;}
-keep public class * extends android.support.v4.**
-keep public class * extends android.support.v4.app.Fragment
-keep public class * extends android.support.v4.app.FragmentActivity
-keep public class android.support.v4.accessibilityservice.** { *; }
-keep public class android.support.v4.app.** { *; }
-keep public class android.support.v4.os.** { *; }
-keep public class android.support.v4.view.** { *; }
-keep public class android.support.v4.widget.** { *; }
# 保持 native 方法不被混淆
-keepclasseswithmembernames class * {
native <methods>;
}
# 保持自定义控件类不被混淆
-keepclasseswithmembernames class * {
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembernames class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
# 保持枚举 enum 类不被混淆
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keepclassmembers class * extends android.content.Context {
public void *(android.view.View);
public void *(android.view.MenuItem);
}
#保留View子类读取XML的构造方法:
-keep public class * extends android.view.View {
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
public void set*(...);
}
# 保持 Parcelable 不被混淆
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
-keepclasseswithmembers class * {
public <init>(android.content.Context);
}
#保持R文件
-keep public class cn.com.lmbj.car.R$*{
public static final int *;
}
#去除调试日志,将所有Log.d()改为Log.i():
-assumenosideeffects class android.util.Log{
public static *** d(...);
public static *** i(...);
public static *** e(...);
}
最后在project.properties里面加上proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt