Подписать приложение, используя данное хранилище ключей

Я улучшаю существующее приложение, запущенное поверх Play Store, и теперь я хочу опубликовать новую версию. Предыдущий разработчик дал мне файл хранилища ключей. Я не могу продолжить, чтобы подписать файл apk.

Я сгенерировал.crt файл, используя следующую команду:

keytool -export -alias appname -file appname -keystore keystore

Затем я пытаюсь импортировать, используя следующую команду:

keytool -import -alias appname -file appname.crt -keystore keystore

Я получаю ошибку, как показано ниже:

keytool error: java.lang.Exception: Certificate reply and certificate in keystore are identical

Итак, я удалил псевдоним, используя следующую команду:

keytool -delete -alias appname -keystore keystore

Затем я пытаюсь повторно импортировать, и это сработало, показывая вывод, такой как ниже:

keytool -import -alias flavorsome -file flavorsome.crt -keystore keystore
Enter keystore password:
Owner: CN=Name, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknow
n
Issuer: CN=Name, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unkno
wn
Serial number: number
Valid from: Thu Jul 28 09:34:07 IST 2016 until: Mon Dec 14 09:34:07 IST 2043
Certificate fingerprints:
         MD5:  md5:md5
         SHA1: A1:B1:C1
         SHA256: 00:00:00
         Signature algorithm name: SHA256withRSA
         Version: 3

Extensions:

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 08 EC 2B 67 A0 94 11 A0   BA 43 C9 8C DB A8 D1 61  ..+g.....C.....a
0010: 0E C4 68 29                                        ..h)
]
]

Trust this certificate? [no]:  yes

Затем я попытался подписать файл apk, и я получаю сообщение об ошибке, как показано ниже:

jarsigner -verbose -sigalg SHA1
withRSA -digestalg SHA1 release-unsigned.apk appname
Enter Passphrase for keystore:
jarsigner: Certificate chain not found for: appname.  appname must referen
ce a valid KeyStore key entry containing a private key and corresponding public
key certificate chain.

Мой главный вопрос: как я могу продолжить подписывать файл apk с помощью данного файла хранилища ключей?

2 ответа

Решение

Я подписал его с помощью следующей команды:

jarsigner release-unsigned.apk appname -keystore keystore

Затем zipaligned его и сгенерированный файл apk разрешен в магазине воспроизведения.

Вам не нужно создавать новый файл.crt, если у вас уже есть файл хранилища ключей. Может быть https://developer.android.com/studio/publish/app-signing.html быть полезным.

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