反应原生生成签名的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的主要内容,如果未能解决你的问题,请参考以下文章