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

时间:2019-07-12 07:03:59

标签: android react-native certificate apk keystore

我有一个Android应用程序证书,文件类型为FILE,该证书类型是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应用程序的更新。

2 个答案:

答案 0 :(得分:0)

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

  • 将jks文件放入应用目录
  • 在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:

    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文件来唱歌。

答案 1 :(得分:0)

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

如何从博览会中获取现有的 Keystore 文件?

expo fetch:android:keystore

我需要知道这一点,所以希望它会帮助某人。