1、proguard.cfg / proguard-project.txt 文档内容如下(或者自己把下面代码复制到 这2个文件中):
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-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 com.android.vending.licensing.ILicensingService
-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);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
2、proguard.cfg 与 proguard-project.txt
在老版本的 ADT 中,创建 Android工程时候会自动生成 proguard.cfg,project.properties 文档;
但是在新版本的 ADT推出之后(具体哪个版本开始推出 暂不清楚),创建时生成了
proguard-project.txt 、project.properties 文档,来替换它。
3、启动 Proguard 混淆 Android程序
在 project.properties 文件中添加
proguard.config=proguard-project.txt (现在版本)
或
proguard.config=proguard.cfg (老版本)
Project 上右键,选择“Android Tools”——Export Signed Application Package……
(即可生成 被 Proguard 混淆过的 APK文件)
4、参考文献
http://bbs.pediy.com/showthread.php?t=137112