更改Android React本机应用程序的上载密钥
我们必须为React本地Android应用程序重置Android上载密钥。我们联系谷歌重置了密钥 谷歌要求我们完成以下步骤: 以下是如何生成和注册新的上载密钥: 按照Android Studio帮助中心中的说明生成新密钥。它必须与以前的任何键不同。或者,可以使用以下命令行生成新密钥:更改Android React本机应用程序的上载密钥,android,gradle,keystore,fastlane,android-keystore,Android,Gradle,Keystore,Fastlane,Android Keystore,我们必须为React本地Android应用程序重置Android上载密钥。我们联系谷歌重置了密钥 谷歌要求我们完成以下步骤: 以下是如何生成和注册新的上载密钥: 按照Android Studio帮助中心中的说明生成新密钥。它必须与以前的任何键不同。或者,可以使用以下命令行生成新密钥: keytool -genkeypair -alias upload -keyalg RSA -keysize 2048 -validity 9125 -keystore keystore.jks 此密钥必须是20
keytool -genkeypair -alias upload -keyalg RSA -keysize 2048 -validity 9125 -keystore keystore.jks
此密钥必须是2048位RSA密钥,有效期为25年。
将该密钥的证书导出为PEM格式:
keytool -export -rfc -alias upload -file upload_certificate.pem -keystore keystore.jks
回复此电子邮件并附上upload_certificate.pem文件
进一步的步骤我们现在有了生成的文件,
keystore.jks
和一个upload\u certificate.pem
文件
以前,我们的应用程序使用“***-release key.keystore”文件上载
构建过程gradle.properties文件
MYAPP_RELEASE_STORE_FILE=APPNAME-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=APPNAMEapprelease
build.gradle文件
def getPassword(String currentUser, String keyChain) {
def stdout = new ByteArrayOutputStream()
def stderr = new ByteArrayOutputStream()
exec {
commandLine 'security', '-q', 'find-generic-password', '-a', currentUser, '-s', keyChain, '-w'
standardOutput = stdout
errorOutput = stderr
ignoreExitValue true
}
//noinspection GroovyAssignabilityCheck
stdout.toString().trim()
}
def releasekeypass = getPassword("APPNAME","android_keystore")
def releasekeyalias = getPassword("APPNAME","android_keystore")
注释我们使用fastlane部署应用程序。如何使用现有的新文件获取/更改.keystore文件?文档在某些地方会随意将
.jks
文件称为.keystore
。它们的格式相同
自己检查一下:
file APPNAME-release-key.keystore
APPNAME-release-key.keystore : Java KeyStore
> file keystore.jks
keystore.jks : Java KeyStore
然后,您的解决方案很简单,可以将
keystore.jks
重命名为APPNAME release key.keystore
谢谢@fabio,不幸的是,这仍然不起作用。我尝试用硬编码字符串中的密码替换releasekeypass和releasekeyalias值,但它仍然会抱怨在密钥库``中找不到别名为'-upload'的密钥。能否提供指向您引用的说明的链接?下面是我生成密钥的方法:keytool-genkey-v-keystorekeystore.jks-alias alias_name-keyalg RSA-keysize 2048-validity 10000
。下面是检查别名的方法:keytool-list-v-keystore keystore.jks
请稍候,当命令行创建upload
时,您的错误消息指出您的别名应该是-upload
。如果是React Native中的错误,请尝试使用keytool-genkeypair-alias'-upload'-keyalg RSA-keysize 2048-validity 9125-keystore keystore.jks生成jks