Android进行数字签名的方法我这里罗列两种方法:
第一种方式:
使用Keytool和jarsigner给程序进行签名:
使用keytool -genkey -v -keystore android.keystore -alias android -keyalg RSA -validity 20000 命令去产生一个密钥;
然后通过jarsigner -verbose -keystore android.keystore -signedjar android123_signed.apk android123.apk 命令去加密一个应用。
第二种方式:
eclipse内置方式生成带有数字签名的应用,此处不多讲。不会的请留言。
使用zipalign优化APK
根据官方文档的描述,Android系统中Application的数据都保存在它的APK文件中,同时可以被多个进程访问,安装的过程包括如下几个步骤:
- Installer通过每个apk的manifest文件获取与当前应用程序相关联的permissions信息
- Home application读取当前APK的Name和Icon等信息。
- System server将读取一些与Application运行相关信息,例如:获取和处理Application的notifications请求等。
- 最后,APK所包含的内容不仅限于当前Application所使用,而且可以被其它的Application调用,提高系统资源的可复用性。
zipalign优化的最根本目的是帮助操作系统更高效率的根据请求索引资源,将resource-handling code统一将Data structure alignment(数 据结构对齐标准:DSA)限定为4-byte boundaries。如果不采取对齐的标 准,处理器无法准确和快速的在内存地址中定位相关资源。目前的系统中使用fallback mechanism机制处理那些没有应用DSA标准的应用程序,这的确大大的方便了普通开发者无需关注繁琐的内存操作问题。但是相反,对于这样的应用程序 将给普通用户带来一定的麻烦,不但影响程序的运行的效率,而且使系统的整体执行效率下降和占用大量不必要的内存资源,甚至消耗一定的电池资源 (battery life)。
命令行方式手动优化:
- 利用tools文件夹下的zipalign工具。首先调出cmd命令行,然后执行:zipalign -v 4 source.apk androidres.apk。这个方法不受API Level的限制,可以对任何版本的APK执行Align优化。
- 同时可以利用zipalign工具检查当前APK是否已经执行过Align优化。命令:zipalign -c -v 4 androidres.apk
使用ADT自动优化:
- 从 ADT 0.9.3版本开始,可以通过export wizard自动对发布的application packages执行align操作。设置方法:鼠标右键点击Project,然后选择”Android Tools” > “Export Signed Application Package…”。