在创建项目的过程中,经常将发布的打包过程忘记了,记录一下。
开始之前
先了解两件事情:
-
Keytool 是一个有效的安全钥匙和证书的管理工具.
-
Android 要求所有的程序必须有签名,否则就不会安装该程序
生成命令
注意
:记得将alias_name
改一下。$ keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
之前忘记修改这个名记造成很大问题。这过程中会问你一些问题:
Enter keystore password: Re-enter new password: What is your first and last name? [Unknown]: phodal What is the name of your organizational unit? [Unknown]: phodal What is the name of your organization? [Unknown]: phodal What is the name of your City or Locality?
继续按回车即可 -
构建 Android应用
1.生成 release包
Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头、麦克风等。
$ cordova build --release android
2.签名
jarsigner是JDK中包含的用于JAR文件签名和验证的工具。
$jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore HelloWorld-release-unsigned.apk alias_name
注意
: alias_name与上面所的应该是一致的3.优化
Zipalign是一个android平台上整理APK文件的工具,它首次被引入是在Android 1.6版本的SDK软件开发工具包中。它能够对打包的Android应用程序进行优化, 以使Android操作系统与应用程序之间的交互作用更有效率,这能够让应用程序和整个系统运行得更快。
$zipalign -v 4 HelloWorld-release-unsigned.apk HelloWorld.apk
注意
: 正常情况下zipalign应该在你的android sdk 的Home目录的build-tools的某个版本的SDK下面。