Android之编译打包apk时几个常用的技巧

今天和大家分享一下用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时几个常用的技巧,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。