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)第三方包(这个最麻烦,请看我细细道来,血泪史啊!)