phonegap/cordova项目发布android apk

原文来源

原文:http://www.ionicframework.com/docs/guide/publishing.html
简介:ionic框架的新手教程,截取其中的”Chapter 6: Publishing your app“这一段。教程以android平台为例,包括:release命令发布apk,使用keytool创建签名文件,为apk注入签名文件,最终一成一个正式的发布版Apk。下面正文开始。

第六节:发布你的app

既然我们有了一个可工作的app,我们现在准备将它推向世界吧!由于Ionic团队已经向应用商店(注:应该是google play store吧)提交了本教程的Todo应用,所以从这节开始使用你自己创建的新的应用为例。(自己创建一个HelloWorld吧)

那么首先我们基于你的应用来做一次发布,目标是我们希望布署的每一个平台。在布署前,我们必须注意调整开发过程中需要的插件,不能和生产模式一样。例如,我们可能不希望启用调试的插件,所以我们需要在发布前移除它:

cordova plugin rm cordova-plugin-console

安卓发布

针对安卓平台生成一个发布版本,我们使用下面的cordova命令行:

cordova build --release android

这里生成的版本基于你的config.xml中的设置。你的Ionic应用会生成这样一个默认文件,如果你需要自定义你的应用,你可以编辑这个文件。这里可以看到这个文件的更多信息。

接下来,我们可以在platforms/android/build/outputs/apk查找我们的unsigned(未签名) APK文件。在我们的例子中,这个文件是platforms/android/build/outputs/apk/HelloWorld-release-unsigned.apk。现在我们需要为这个unsigned API签名(sign)并运行一个标准化工具来优化它,为上传到应用商店做准备。如果你已经有了一个签名key文件,可跳过这步,使用已有的签名key。

让我们使用JDK自带的keytool命令来生成我们自己的key。如果keytool无效,请参考这里的教程。下面的命令行用来创建签名key文件。

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

首先你会被提示创建密码(这是签名文件的密码,需要记住,发布app的时候需要再次输入。)。然后,一步一步根据提示回答问题直到结束,你会得到一个叫my-release-key.keystore的文件在你当前的文件夹里。

提示:务必安全保存这个文件,如果你丢失了这个文件会不能再更新你的应用!

下面给未签名的apk添加签名,运行jarsigner工具,这个也是包含在JDK里的:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore HelloWorld-release-unsigned.apk alias_name

这样完成签名。最后,我们需要使用zipalign工具优化这个APK。zipalign能在这里找到/path/to/Android/sdk/build-tools/VERSION/zipalign。如果安装了Android Studio,zipalign在这里~/Library/Android/sdk/build-tools/VERSION/zipalign,命令行如下:

zipalign -v 4 HelloWorld-release-unsigned.apk HelloWorld.apk

现在我们拥有了一个完整的发布版的二进制文件HelloWorld.apk,我们可以将它发布到Google Play商店,让全世界去体验这个应用。(呵呵)
(还有其他的方法签名apk,去这里看Android App Signing)

正文结束,后面是谷歌应用商店的教程了

注意

1、签名文件一定要保存好,以后这个app更新发布都需要用到。
2、签名文件的密码记住吧,发布的时候需要使用

你可能感兴趣的:(phonegap/cordova项目发布android apk)