我用cordova命令行构建了我的应用程序。 现在我明白为了发布我需要获取Keystore和私钥。 在android文档中,我看到我需要在Android studio上执行此操作。 http://developer.android.com/tools/publishing/app-signing.html 但是,如果我正确地得到它,我将需要使用android studio而不是命令行来构建项目。 但我认为推荐的形式是使用cordova中的命令行。
是否可以在命令行中创建密钥库/私钥? 如果没有可能打开我用adnroid工作室在codova中构建的项目,请创建 密钥库/私钥,然后在cordova中再次构建它。
您还需要为每个项目创建不同的密钥库/私钥吗?
答案 0 :(得分:4)
检查this section。
"您不需要Android Studio或Eclipse的ADT插件来签署您的应用程序"
$ keytool -genkey -v -keystore my-release-key.keystore
-alias alias_name -keyalg RSA -keysize 2048 -validity 10000
此示例提示您输入密钥库和密钥的密码,并提供密钥的“可分辨名称”字段。然后,它将密钥库生成为名为my-release-key.keystore的文件。密钥库包含一个密钥,有效期为10000天。别名是您稍后在签署应用时使用的名称。
$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1
-keystore my-release-key.keystore my_application.apk alias_name
此示例提示您输入密钥库和密钥的密码。然后它就地修改APK以对其进行签名。请注意,您可以使用不同的密钥对APK进行多次签名。
$ jarsigner -verify -verbose -certs my_application.apk
$ zipalign -v 4 your_project_name-unaligned.apk your_project_name.apk
zipalign确保所有未压缩数据以相对于文件开头的特定字节对齐方式开始,这样可以减少应用程序消耗的RAM量。