使用现有证书为 React Native Android 应用程序生成签名的 apk

Generate signed apk for React Native Android application using existing certificate

我有一个文件类型为 FILE 的 Android 应用程序证书,它是在 2012 年为我用 Java 编写的 Android 应用程序创建的。现在我已经使用 React Native 更新了那个应用程序。

我如何使用现有证书生成密钥库并签署我要在 Google Play 上发布的更新应用程序?

即使 React Native 证书扩展是 .keystore

,我也试过了
keytool -importcert -file "your.cer" -keystore your.jks -alias "<anything>"

我得到以下错误

keytool error: java.lang.Exception: Input not an X.509 certificate

我希望有一个 .keystore 文件,允许我发布现有 Android 应用程序的更新。

您不需要创建 keystore 文件。您可以使用现有的 jks 文件对应用程序进行签名。按如下操作:

  • 把你的jks文件放在app目录下
  • 在您的 gradle.poperties 文件中添加以下代码。

    MYAPP_RELEASE_STORE_FILE=filename.jks
    MYAPP_RELEASE_KEY_ALIAS=your-key-alias
    MYAPP_RELEASE_STORE_PASSWORD=your-store-password
    MYAPP_RELEASE_KEY_PASSWORD=your-release-key-password
    
  • 现在在 build.gradle 文件中添加签名配置,如下所示:

    signingConfigs{
        release {
            if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
                storeFile file(MYAPP_RELEASE_STORE_FILE)
                storePassword MYAPP_RELEASE_STORE_PASSWORD
                keyAlias MYAPP_RELEASE_KEY_ALIAS
                keyPassword MYAPP_RELEASE_KEY_PASSWORD
            }
        }
    }
    
    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }
    
  • 现在您可以使用现有的 jks 文件唱歌。

接受的答案遗漏了一件事。

如何从 expo 中获取现有的 Keystore 文件?

expo fetch:android:keystore

我需要知道这一点,希望它能对某人有所帮助。