【问题标题】:Generate signed apk for React Native Android application using existing certificate使用现有证书为 React Native Android 应用程序生成签名的 apk
【发布时间】:2019-07-12 07:03:59
【问题描述】:

我有一个文件类型为 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 应用的更新。

【问题讨论】:

    标签: android react-native certificate apk keystore


    【解决方案1】:

    您不需要创建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 文件来唱歌了。

    【讨论】:

    • 我的证书文件类型是 FILE 怎么转换成 jks 格式?
    • 只需添加 yourfilename.jks 并尝试构建它即可。
    • 您可以在使用此命令对 apk 签名后查看证书详细信息:unzip -p Name-of-apk.apk META-INF/CERT.RSA | keytool -printcert
    • 我已完成所有步骤,但在 ...\android\app\build\outputs\apk 找不到发布文件夹(即没有生成的 apk)
    • @GirmaFeyissa 你的构建成功了吗?
    【解决方案2】:

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

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

    expo fetch:android:keystore
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-22
      • 2021-05-22
      • 2021-07-07
      • 1970-01-01
      • 1970-01-01
      • 2018-12-17
      • 1970-01-01
      • 2021-11-13
      相关资源
      最近更新 更多