Создайте подписанный apk для приложения React Native Android, используя существующий сертификат

У меня есть сертификат приложения для Android с типом файла FILE, который был создан еще в 2012 году для моего приложения для Android, написанного на Java. Теперь я обновил это приложение с помощью 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.

1
0
1 946
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вам не нужно создавать файл 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
    
  • Теперь добавьте signingConfigs в файл 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.

Тип файла моего сертификата - ФАЙЛ, как я могу преобразовать его в jks?

Girma 12.07.2019 09:31

просто добавьте yourfilename.jks и попробуйте собрать, все будет работать.

Rutvik Bhatt 12.07.2019 09:34

Вы можете проверить детали сертификата после подписания apk с помощью этой команды: unzip -p Name-of-apk.apk META-INF/CERT.RSA | keytool -printcert

Rutvik Bhatt 12.07.2019 09:36

Я выполнил все шаги, но не смог найти папку выпуска (т.е. без сгенерированного apk) в ...\android\app\build\outputs\apk

Girma 12.07.2019 10:37

@GirmaFeyissa, ваша сборка успешна?

Rutvik Bhatt 12.07.2019 11:10

Да. При первом испытании APK не создается. --- после запуска gradlew clean build assembleRelease И gradlew bundleRelease я успешно получаю APK. Спасибо.

Girma 12.07.2019 11:19

Одна вещь упущена из принятого ответа.

Как получить существующий файл хранилища ключей из выставки?

expo fetch:android:keystore

Мне нужно это знать, надеюсь, кому-нибудь это поможет.

Другие вопросы по теме