创建android密钥库/私钥命令行

时间:2014-09-22 13:25:19

标签: android cordova android-build

我用cordova命令行构建了我的应用程序。 现在我明白为了发布我需要获取Keystore和私钥。 在android文档中,我看到我需要在Android studio上执行此操作。 http://developer.android.com/tools/publishing/app-signing.html 但是,如果我正确地得到它,我将需要使用android studio而不是命令行来构建项目。 但我认为推荐的形式是使用cordova中的命令行。

是否可以在命令行中创建密钥库/私钥? 如果没有可能打开我用adnroid工作室在codova中构建的项目,请创建 密钥库/私钥,然后在cordova中再次构建它。

您还需要为每个项目创建不同的密钥库/私钥吗?

1 个答案:

答案 0 :(得分:4)

检查this section
"您不需要Android Studio或Eclipse的ADT插件来签署您的应用程序"

如何手动签署您的应用。

使用keytool生成私钥。例如:

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

此示例提示您输入密钥库和密钥的密码,并提供密钥的“可分辨名称”字段。然后,它将密钥库生成为名为my-release-key.keystore的文件。密钥库包含一个密钥,有效期为10000天。别名是您稍后在签署应用时使用的名称。

在发布模式下编译您的应用以获取未签名的APK。

使用jarsigner:

使用您的私钥对您的应用进行签名
$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1
-keystore my-release-key.keystore my_application.apk alias_name

此示例提示您输入密钥库和密钥的密码。然后它就地修改APK以对其进行签名。请注意,您可以使用不同的密钥对APK进行多次签名。

确认您的APK已签名。例如:

$ jarsigner -verify -verbose -certs my_application.apk

使用zipalign对齐最终的APK包。

$ zipalign -v 4 your_project_name-unaligned.apk your_project_name.apk

zipalign确保所有未压缩数据以相对于文件开头的特定字节对齐方式开始,这样可以减少应用程序消耗的RAM量。