Android代码混淆(新版本ADT)
说明:
看网上说的很多Android代码混淆的方法都是旧版本ADT的方法,今天用到代码混淆,记下来分享一下,有需要的可以看看。
实践:
我就不写东西了,还是直接给大家看我项目中用到的文件就好了。注释我写在图片上了。
第二个文件的代码我还是写出来吧,可能有朋友用的和我的差不多。(注意不要把注释写进去)
这两个文件都是项目生成的时候由ADT自动生成的,不用自己加。
-keep public class * extends android.app.Service //Service的子类都不混淆,因为有些Service是带Action的,可以这么说,如果你的Activity或者Service支持Action启动的话就最好不要混淆了 -keep class com.XXX.** //这个是我用的某一个包下的所有java文件都不混淆,因为这里有些Interface,Event等别的地方能用到,混淆的会出问题 -libraryjars libs/android-support-v4.jar //类似libraryjars是表示这个jar包是你引用的,这个就告诉混淆器。不然它就给你弄乱了 -dontwarn android.support.v4.** -keep class android.support.v4.** { *; } -keep interface android.support.v4.app.** { *; } -keep public class * extends android.support.v4.** -keep public class * extends android.app.Fragment -libraryjars libs/afinal_0.5.1_bin.jar //这里和上面一样是引用的jar包,但是我没写keep 是因为我测试过这几个jar包竟然可以混淆,混淆之后也没问题,不过建议还是(ˇˍˇ) 像上面一样,keep这个jar包里的所有代码,省得出问题 -dontwarn net.tsz.afinal.** -libraryjars libs/picasso-2.2.0.jar -dontwarn com.squareup.picasso.** -libraryjars libs/universal-image-loader-1.9.2-SNAPSHOT-with-sources.jar -dontwarn com.nostra13.universalimageloader.**