Android之编译打包apk的技巧

来源:互联网 发布:淘宝追加评价 编辑:程序博客网 时间:2024/06/05 20:42

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

0 0
原创粉丝点击