android 使用proguard 混淆jar

  我使用的是proguard5.2.1,可以自行下载,找不到我再发你

执行 proguard5.2.1\bin\proguardgui.bat

以下是相关步骤,直接上图

 1、添加没混淆的jar,以及混淆后jar存放位置, 替换掉jre改成android.jar

 2、去掉shrink,不要勾选 (我勾选了这个会有点异常,具体原因不知道...)

3、保存设置

4、加载刚才的设置

4.1、-----  这里还有一步是添加一些混淆规则,看需求....---

5、直接process,开始混淆

1

 


2



3



4



5



6、





以上就混淆成功了!

界面上有提示部分警告, 只要混淆后的jar,功能没问题就可以不管他~~~



 这里补充一下上面说的4.1 步。。

这个需要自己根据自己需求去添加。

具体可以baidu~~~

以下贴我用到的以及对应作用


有自定义view需要添加

-keepclasseswithmembers class * {    
    public <init>(android.content.Context);    
}    
-keepclasseswithmembers class * {    
    public <init>(android.content.Context, android.util.AttributeSet);    
}    
-keepclasseswithmembers class * {    
    public <init>(android.content.Context, android.util.AttributeSet, int);    


不混淆该类名,以及内部public修饰的变量或方法

-keep class com.gw.payment.sdk.Payment  {
  public *;
}


不混淆这个接口, 因为这个要对外输出的。

-keep class com.gw.payment.sdk.IPaymentCallback {
<methods>;
}


-keep class * implements com.gw.payment.sdk.IPaymentCallback {
<methods>;
<fields>;
}


不混淆四大组件相关

-keep public class * extends android.app.Fragment
-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 class com.android.sdk.** {*;}



其他的自己百度了~~~  


可以参考

http://www.jianshu.com/p/be7ec1819d2f

http://blog.csdn.net/guolin_blog/article/details/50451259


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值