今天和大家分享一下用eclipse打包apk时的三个小技巧:
一.防止被反编译而扰乱混淆加密:
1. 请打开project.properties文件中的这句话(即将这句前面的"#"去掉即可)
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
2. 然后可以根据自己的需求对proguard-project.txt文件做出“例外”的方法或类的规则定义
比如该项目引入了一个系统的framework的jar包,那么就需要在这个文件中添加如下一句话:
-libraryjars 路径/framework_intermediates/classes.jar
3. 生成apk时,右键项目名字,Android Tools --> Export Signed/Unsigned Application Package 。选择apk的保存路径即可。
通过Run/Launch等途径生成的,是无法达到目的的。
这样生成出来的apk,他人在反编译时,看到的就是被扰乱被混淆来达到阅读困难的目的的代码。
二.使用zipalign的4字节对齐优化处理,以提高apk的性能:
1.在Android中,当资源文件通过内存映射对齐到4字节边界时,访问资源文件的代码才是有效率的。但是,如果资源本身没有进行对齐处理(未使用zipalign工具),它就必须回到老路上,显式地读取它们——这个过程将会比较缓慢且会花费额外的内存。
2.必须在签名apk文件后进行,使用以下命令让其对齐:
zipalign -v 4 source.apk destination.apk
3.以下的命令用于检查程序包是否进行了对齐:
zipalign -c -v 4 application.apk
以后凡是eclipse编译打包生成的apk,最好经过zipalign的处理。
zipalign 的文件路径:
sdk目录/tools/zipalign
idh.code/out/host/linux-x86/bin/zipalign
三.给打包好的apk重新签名:
1. 改apk签名命令:
java -jar signapk.jar platform.x509.pem platform.pk8 test.apk test_signed.apk
【注意】
2. signapk.jar位置在源代码中:
out/host/linux-x86/framework/signapk.jar
3.platform.x509.pem和platform.pk8均在:
build/target/product/security/platform.pk8
4.如果没有源码的朋友可以使用我分享在微云中的工具:http://url.cn/LFvYbU
Android之编译打包apk时几个常用的技巧