Android代码混淆是必须的,java层代码如果不做混淆等于把源代码送人了。那如何做混淆呢?
之前一般都是提到采用proguard.cfg,但使用新版本ADT后没有这个文件了,取而代之的是proguard-project.txt文件。那该如何使用呢?
在项目根目录下有个project.properties,里面有如下内容:
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
意思很清楚,将这段注释取消掉即可。
结果我取消掉之后依然有问题,反编译出来代码没有做混淆,试过n次依然不行。
最后,是因为没有经验,我们平时只需要点击运行即可,以为这样生成的apk就可以了,但其实这个apk是debug版本的,不会根据这些配置变动的。
所以需要手动导出一个apk文件,具体方法:
项目上点击右键->Android Tools->Export Unsigned Application package...,因为我的没有签名就选择这个,如果有签名选择Export Signed Application Package..。
完工。