У меня есть сертификат приложения для 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.
Вам не нужно создавать файл keystore. вы можете использовать существующий файл 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.
просто добавьте yourfilename.jks и попробуйте собрать, все будет работать.
Вы можете проверить детали сертификата после подписания apk с помощью этой команды: unzip -p Name-of-apk.apk META-INF/CERT.RSA | keytool -printcert
Я выполнил все шаги, но не смог найти папку выпуска (т.е. без сгенерированного apk) в ...\android\app\build\outputs\apk
@GirmaFeyissa, ваша сборка успешна?
Да. При первом испытании APK не создается. --- после запуска gradlew clean build assembleRelease И gradlew bundleRelease я успешно получаю APK. Спасибо.
Одна вещь упущена из принятого ответа.
Как получить существующий файл хранилища ключей из выставки?
expo fetch:android:keystore
Мне нужно это знать, надеюсь, кому-нибудь это поможет.
Тип файла моего сертификата - ФАЙЛ, как я могу преобразовать его в jks?