Android应用混淆问题记录

  • Post author:
  • Post category:其他



1.怎么打开混淆器混淆Android代码


开发IDE Eclipse


ADT版本:ADT 22.6.3


ant版本:ant-1.9.4


首先找到工程文件下project.properties文件,找到下面这么一句话:



#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt


找到后,把“#”号去掉,打开这句代码,打开后就表示启用混淆器,混淆配置文件有两个,一个是

${sdk.dir}/tools/proguard/proguard-android.txt



这个文件是Android sdk默认的一些配置,另外一个就是

proguard-project.txt

,此文件也是在工程根目录下可以找到,这个就是我们可以自定义自


己的混淆配置的文件。

到这里,至于怎么用ant脚本触发代码混淆这个功能,我这里是用Android sdk默认提供的命令自动生成的ant脚本,这个有

空再总结吧,就一命令,不过涉及到第三方包和渠道号打包,又是一段血泪史,再说吧!

2.自定义的

proguard-project.txt

怎么配置(摸索的道路都是泪啊!)




${sdk.dir}/tools/proguard/proguard-android.txt

这个配置文件中,Android的sdk已经帮我们定义了一部分Android系统的一些不混淆的类和一些


配置,都有注释的,下面直接根据实际情况分析下自定义文件配置注意的点:


1)保留继承系统的类不混淆,此配置信息来自网上,不好意思,已经找不到源出处了,但是我其实没验证是否要加上去,就直接放上去了,如下:


-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 public class * extends android.support.v4.**


2)第三方包(这个最麻烦,请看我细细道来,血泪史啊!)



版权声明:本文为qiu592198740原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。