Stu*_*rtM 5 android keystore gradle android-keystore fastlane
我们必须为 React-Native Android 应用程序重置我们的 Android 上传密钥。我们联系了 Google 以重置密钥。
Google 要求我们完成以下步骤: 以下是生成和注册新上传密钥的方法:
按照 Android Studio 帮助中心中的说明生成新密钥。它必须与任何以前的键不同。或者,您可以使用以下命令行生成新密钥:
keytool -genkeypair -alias upload -keyalg RSA -keysize 2048 -validity 9125 -keystore keystore.jks
Run Code Online (Sandbox Code Playgroud)
此密钥必须是 2048 位 RSA 密钥并具有 25 年的有效期。将该密钥的证书导出为 PEM 格式:
keytool -export -rfc -alias upload -file upload_certificate.pem -keystore keystore.jks
Run Code Online (Sandbox Code Playgroud)
回复此电子邮件并附上 upload_certificate.pem 文件。
进一步的步骤
我们现在有了生成的文件keystore.jks和一个upload_certificate.pem文件。
以前我们的应用程序使用“***-release-key.keystore”文件上传。
构建过程
gradle.properties 文件
MYAPP_RELEASE_STORE_FILE=APPNAME-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=APPNAMEapprelease
Run Code Online (Sandbox Code Playgroud)
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")
Run Code Online (Sandbox Code Playgroud)
备注
我们使用 fastlane 来部署应用程序。我们如何使用我们拥有的新文件获取/更改 .keystore 文件?
文档在某些地方往往会随意引用.jks文件.keystore。它们的格式相同。
自己检查一下:
file APPNAME-release-key.keystore
APPNAME-release-key.keystore : Java KeyStore
> file keystore.jks
keystore.jks : Java KeyStore
Run Code Online (Sandbox Code Playgroud)
那么您的解决方案很简单,只需重命名keystore.jks为APPNAME-release-key.keystore.
| 归档时间: |
|
| 查看次数: |
1010 次 |
| 最近记录: |