2015-05-24 2 views
0

В Android Studio, когда я перехожу к Build > Generate Signed APK, SHA1 генерируемой сигнатуры apk отличается от той, которая сгенерирована вручную jarsigner. Поэтому Google Play отклоняет обновление, и я должен его вручную подписывать каждый раз. Первая версия приложения была подписана с использованием Eclipse с плагином ADT, если это имеет значение. Почему это происходит?Android Studio подписывает apk, отличный от jarsigner

+0

Не могли бы вы проголосовать? – user2420837

ответ

1

Почему это происходит?

Поскольку у вас есть другой ключ, выбранный в Android Studio для подписания этого особого вкуса, чем вы использовали для своих выпущенных сборников. Вам нужно нажать F4 (или выберите «Открыть настройки модуля» в контекстном меню модуля «приложение») и отметьте Signing и Flavors вкладками.

В качестве альтернативы, вы не указали сертификат подписи, и вас попросят указать его во время экспорта. Но все же вы, кажется, выбираете неправильный.

EDIT

Как APK обыкновенный ZIP архив, вы можете легко извлечь META-INF/CERT.RSA файл и получить подробную информацию о используемом сертификате

keytool -printcert EXTRACTED-CERT.RSA 

или просто

unzip -p Name-of-apk.apk META-INF/CERT.RSA | keytool -printcert 

при использовании любого здравомыслящего shell (а не окна), а затем сравнить выходы с недавним APK

EDIT

Пожалуйста, обратите внимание, вы должны сравнивать только сертификат отпечатков пальцев. Серийный номер, дата истечения и т. Д. НЕ уникальны. Если хэш (отпечаток пальца) отличается от другого, то это другой сертификат, нравится вам это или нет :)

+0

Спасибо за ваш ответ. Я нахожусь на Mac, что бы было на клавиатуре? И я уверен, что я использую одно и то же хранилище ключей. – user2420837

+0

Я не знаю, но вы можете открыть контекстное меню в модуле «app» и искать «Open Module Settings» –

+0

Хорошо, я открыл настройки модуля, но у меня нет ключей, выбранных для подписания. Вот как это выглядит: http://imgur.com/WKUzto9,b6QFXWO#0 – user2420837

Смежные вопросы