4

我正在尝试生成用于在 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 的真实路径吗?

4

2 回答 2

3

最后我能够生成签名的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

其余的事情都按照文档。但是,我仍然觉得生成签名的 apk部分可以更容易理解bay react native 团队。如果有人遇到同样的问题,请通过http://customphpscript.com联系

于 2016-06-26T14:57:13.040 回答
2

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

于 2017-06-13T15:43:35.953 回答