Android 进阶之版本释放流程
- 清理代码中的调试信息,如一些非关键的Log(其实这个一般在开发中我们会将其做成可设置的用一个标志位对其进行控制,在释放版本之前需要将其配置为关闭Log)以及StrictMode。
- 运行Lint,CheckStyle,findBug等静态代码检查工具,查看代码中可能潜在的Bug并修复。
- 在build.gradle文件中修改VersionCode和VersionName,对于数据库,如果需要更新数据库,则需要程序中的数据库版本。
- 在清单文件中将项目的debugable设置为false
- build.gradle中指定代码混淆文件地址,配置proguard-project.txt文件
- 运行自动化测试用例
- 将Build Variants 改为release
- 在Android Studio中运行assembleRelease 任务
- 通过Android studio中的Build -> Create signed Apk 使用已有的签名证书keystore文件对Apk进行签名。
- 使用zipalign对Apk进行资源对齐优化
使用zipalign进行资源对齐优化的必要性
在Android中,当资源文件通过内存映射对齐到4字节边界时,访问资源文件的代码才是有效率的。但是,如果资源本身未使用zipalign工具对资源进行对齐处理就必须显式地读取,这个过程将会比较缓慢且会花费额外的内存。
对于应用程序开发者来说,这种显式读取方式是相当便利的。它允许使用一些不同的开发方法,包括正常流程中不包含对齐的资源,因此,这种读取方式具有很大的便利性。但是对于用户来说,从未对齐的apk中读取资源比较慢且花费较多内存。导致未对齐的程序启动得比对齐后的慢,甚至由于增加内存压力,从而造成系统反复地启动和杀死进程。最终,应用被用户卸载。
具体操作:
../zipalign -f -v 4 xxx_release_signed_platform.apk xxx_release_signed_platform_zipalign.apk |
同时可以利用zipalign工具检查当前APK是否已经执行过Align优化:
zipalign -c -v 4 xxx_release_signed_platform_zipalign.apk |
- 项目打包,安装测试