前一篇文章说了怎样反编译人家的东西,现在说说怎样防止自己的APK被别人反编译,是不是很贱啊?
最近在做类似魔漫相机的应用,初步版本基本上搞定了,不过图片处理的部分还是有点点问题,闲话少说,今天尝试了下对apk进行混淆加密,亲测成功!以下是步骤:
2.3版本以上在eclipse自动生成的default.properties文件中加上一句“proguard.config=proguard.cfg”可以对代码进行混淆,反编译后是很难看懂的。
2.3之前的SDK版本也没关系,把上面的proguard.cfg文件复制一份放到项目中,然后进行相同的操作即可。
我用的4.2版本的SDK开发包,建立的工程中有:proguard-project.txt、project.properties这两个文件,首先,把project.properties文件中的proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt前面的“#”去掉(如图),
然后就可以生成包,但是我这里用了第三方的包(腾讯的分享平台的sdk),所以,有引用第三方jar包的时候会报错:You may need to specify additional library jars (using '-libraryjars'),处理方法:在proguard.cfg文件顶部加入
-keep class com.motorola.** { *;}意思是ProGuard不要警告找不到com.motorola.**这个包里面的类的相关引用。对应包名改成你对应的jar包顶层package
详细可以查看官方文档 http://developer.android.com/tools/help/proguard.html
之后再试就成功了!
顺便附应用图片,宣传下,呵呵: