我正在尝试生成用于在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是什么?
除了我输入的两个密码之外,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 有什么区别?
keytool
默认使用PKCS12,似乎不需要为密钥设置密码。要为密钥生成密码,必须将存储类型设置为jks
。请参阅此答案:https://dev59.com/zFUL5IYBdhLWcg3w6rto#49599630 - Fanchen Bao