http://blog.csdn.net/u013042707/article/details/51461677
http://blog.csdn.net/u013042707/article/details/51461677
http://blog.csdn.net/u013042707/article/details/51461677
http://blog.csdn.net/u013042707/article/details/51461677
http://blog.csdn.net/u013042707/article/details/51461677
http://blog.csdn.net/u013042707/article/details/51461677
1.到你的sdk目录找一个.pro文件(我的目录
D:\eclipse_google\adt-bundle-windows-x86-20131030\sdk\tools\proguard\examples)随便
复制到一个目录我将复制的.pro名称修改为test.pro(我桌面的test\before\text.pro)
解释下四个文件夹:after是我jar混淆后的输出目录,第二个文件夹不解释,before是存放混淆之前的Text.jar和pro文件;注意:lib是我的jar需要的一些依赖jar
2. 使用记事本打开test.pro添加如下混淆规则
- -injars before\Test.jar
- -outjars after\Test.jar
-
-
- -libraryjars before\test\android-support-v4.jar
- -libraryjars before\test\android.jar
- -libraryjars before\test\xxx.jar
- -libraryjars before\test\xxx.jar
-
-
-
- -allowaccessmodification
- -overloadaggressively
- -repackageclasses ''
-
-
-
-
- # The entry point: ProGuard and its main method.
- -keep public class proguard.ProGuard {
- public static void main(java.lang.String[]);
- }
-
-
- -keep public class * extends android.app.Activity
-
-
- -keep public class * extends android.app.Application
-
-
- -keep public class * extends android.app.Service
-
-
-
- -keep class com.cn.tiankong.ReaderExtra {
- public <fields>;
- public static final <methods>;
- }
-
-
- -keep class com.cn.tiankong.MyClass2{
- public private protected <fields>;
- public <methods>;
- }
-
-
- -keep class com.cn.tiankong.MyClass3{
- public <fields>;
- public <methods>;
- }
-
-
- -keep class com.cn.tiankong.Ulitily {
- public <fields>;
- public <methods>;
- }
-
-
-
- # Also keep - Enumerations. Keep the special static methods that are required in
- # enumeration classes.
- -keepclassmembers enum * {
- public static **[] values();
- public static ** valueOf(java.lang.String);
- }
-
-
- # Keep names - Native method names. Keep all native class/method names.
- -keepclasseswithmembers,allowshrinking class * {
- native <methods>;
- }
注意:去掉中文注释
3. 找到proguardgui.bat(我的目录
D:\eclipse_google\adt-bundle-windows-x86-20131030\sdk\tools\proguard\bin)双击打开
4.点击 Load configration选择你的test.pro
5.检查Input/Output(混淆前和混淆后路径是否正确)添加项目依赖jar
![](https://img-blog.csdn.net/20160523104010953?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
6.检查修改添加编辑不做混淆的类
7.如果没有什么特殊的配置就可以一直下一步到Process了
![](https://img-blog.csdn.net/20160523104028094?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
8.将混淆后的jar使用jd-gui打开如下
![](https://img-blog.csdn.net/20160523104707899?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
9.将jar导入项目测试是否正常运行,如果保错或者闪退,请根据log异常信息定位查看是否提供给调用者的方法或类被混淆了,如果是请修改pro文件按上面的再次混淆