反应原生生成签名的APK

Posted

技术标签:

【中文标题】反应原生生成签名的APK【英文标题】:react native Generating Signed APK 【发布时间】:2016-10-28 13:25:10 【问题描述】:

我正在尝试生成用于在 Google Play 上发布的 apk。我正在按照这些步骤https://facebook.github.io/react-native/docs/signed-apk-android.html

第 1 步)我运行了这个命令

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

它问我问题,我回答并生成了 my-release-key.keystore 文件

我将 my-release-key.keystore 文件放在你项目文件夹的 android/app 目录下。

现在它说: 编辑文件 ~/.gradle/gradle.properties 并添加以下内容(将 ***** 替换为正确的密钥库密码、别名和密钥密码),

MYAPP_RELEASE_STORE_FILE=my-release-key.keystore 
MYAPP_RELEASE_KEY_ALIAS=my-key-alias 
MYAPP_RELEASE_STORE_PASSWORD=***** 
MYAPP_RELEASE_KEY_PASSWORD=*****

现在 /root/.gradle/gradle.properties 中以前没有文件,所以我创建了一个新文件并添加了上述 4 个常量和值。 它还告诉(用正确的密钥库密码、别名和密钥密码替换 *****)

这一步对我来说最令人困惑,因为别名字段中没有 *****。当我生成 my-release-key.keystore 文件时,我没有得到任何别名

那么我应该用什么代替 my-key-alias ?

my-key-alias 基本上是什么?

除了我输入的 2 个密码,keytool 命令生成了类似这样的内容

CO=Dev Abhi, OP=The Awesome Coder, L=The Awesome Coder, M=Delhi, SP=Delhi, M=IN

以上是别名吗?

所以我需要更换类似的东西

MYAPP_RELEASE_STORE_FILE=my-release-key.keystore 
MYAPP_RELEASE_KEY_ALIAS=CO=Dev Abhi, OP=The Awesome Coder, L=The Awesome Coder, M=Delhi, SP=Delhi, M=IN 
MYAPP_RELEASE_STORE_PASSWORD=password1
MYAPP_RELEASE_KEY_PASSWORD=password2

还有~/.gradle/gradle.properties /root/.gradle/gradle.properties 的真实路径??

【问题讨论】:

您从哪里获得 MYAPP_RELEASE_KEY_PASSWORD?在生成密钥库时,它只要求输入密钥库密码! keytool 现在默认为 PKCS12,这似乎不需要密钥的密码。要为密钥生成密码,storetype 必须设置为jks。看到这个答案:***.com/a/49599630/9723036 【参考方案1】:

最后我能够生成签名的 apk。所以,我错过的东西 -

当你触发命令时

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

在选项 -alias 之后,我们提到任何名称/术语“my-key-alias”。这实际上是我们需要记住的,并且在后面的步骤中必须使用像这样的相同术语

MYAPP_RELEASE_KEY_ALIAS=my-key-alias

其余内容均按照文档进行。但是,我仍然觉得 generating signed apk 部分可以更容易理解bay react native 团队。如果有人遇到同样的问题,请通过http://customphpscript.com联系我们

【讨论】:

【参考方案2】:

不确定这是否会对您有所帮助,但我遇到了完全相同的问题。我的问题最终是我正在编辑的文件~/.gradle/gradle.properties 不是您项目目录中的文件,而是操作系统根目录中的文件。一旦我将变量移动到那个位置,我就能够生成一个签名的 apk!

【讨论】:

以上是关于反应原生生成签名的APK的主要内容,如果未能解决你的问题,请参考以下文章

在没有开发服务器的设备上构建和安装未签名的 apk?

apk签名工具

Android:如何仅通过 Gradle 生成签名 APK? [复制]

如何用Android 源码生成APK签名文件

安卓签名apk签名V2

eclipse将android项目生成apk并且给apk签名