一.防止被反编译而扰乱混淆加密:

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

更多相关文章

  1. Android_之动画1
  2. Android布局文件的加载过程分析:Activity.setContentView()源码
  3. Android(安卓)StatFs类
  4. (2.2.8.1)关于Android(安卓)Studio里的Gradle,你所需要知道的都在这
  5. Android(安卓)Studio报Element XXXX must be declared的解决方法
  6. ionic应用的Android打包签名发布步骤
  7. android 用LruCache读取大图片并缓存
  8. Android多渠道打包方案的实践与优化
  9. android studio中的so库调用

随机推荐

  1. 直接调用vs反射调用实例教程
  2. 操作 ASP.NET Web API 的实例教程
  3. UWP中使用Composition API实现吸顶的介绍
  4. WPF MaterialDesign 示例开源项目介绍
  5. C#中算法的实例详解
  6. C# 并行任务之Parallel类的实例介绍
  7. 关于操作 ASP.NET Web API的实例
  8. VS2015常用快捷键详解
  9. wcf什么意思?关于wcf的实例教程
  10. Visual Studio 中自定义生成事件的详细介