Ответ 1
Когда я это сделал, я использовал это.
keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android -v
Похоже, что ваш файл хранилища ключей неверен.
Я использую некоторую команду для получения закрытого ключа MD5 из файла debug.keystore
, но на самом деле я получаю закрытый ключ SHA1 вместо MD5. Я не знаю, как получить MD5.
Это команда, которую я использую.
keytool -list -alias androiddebugkey -keystore (path_to_debug_keystore).keystore -storepass android -keypass android
Когда я это сделал, я использовал это.
keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android -v
Похоже, что ваш файл хранилища ключей неверен.
Попробуйте добавить в команду -v. Затем вы получите отпечатки пальцев в MD5, SHA1 и SHA256. MD5 следует принять в Google API Registration. =)
Вам не нужно понижать рейтинг jdk!
Вы должны добавить '-v' в свою команду keytool, как уже было предложено.
keytool -list -v -keystore ~/.android/debug.keystore
Это связано с тем, что вы используете jdk7, который, в отличие от jdk6, по умолчанию не печатает отпечаток сертификата MD5.
Андроид документация не упоминает об этом (в соответствии с публикацией)
Спасибо всем. Теперь я получил свой закрытый ключ MD5. Я использовал JDK7. Для справки,
C:\Program Files\Java\jdk1.7.0\bin>keytool.exe -list -v -keystore "C:\Documents
and Settings\Administrator\.android\debug.keystore" -storepass android -keypass
android
у вас есть правильный синтаксис, убедитесь, где находится ваш файл хранилища ключей...
это мой пример:
keytool -list -alias androiddebugkey -keystore "C:\Documents and Settings\jorgesys\.android\debug.keystore" -storepass android -keypass android
и результат должен быть чем-то вроде...
androiddebugkey, 25/09/2010, PrivateKeyEntry,
Certificate fingerprint (MD5):
32:46:AA:56:D9:71:8B:2A:0B:34:A1:B6:96:1E:87:59
Если вы не помните своего пользователя и пароль, вы создадите другое хранилище ключей...
keytool -genkey -v -keystore "C:\android\gruporeforma.keystore" -alias gruporeforma -keyalg RSA -validity 10000
Это поможет вам определенно. Пожалуйста, просмотрите этот снимок экрана.
Если вы используете Eclipse или ADT, вы можете перейти в Preferences → Android → Build и там вы увидите отпечатки отпечатков отпечатков MD5 и SHA1 отладки.
Убедитесь, что вы находитесь в jdk/bin
в терминале
Для Linux или OS X откройте окно терминала и введите следующее:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
Для Windows Vista и Windows 7 запустите:
keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
Если вам удастся выполнить вышеуказанный шаг, вы получите:
Alias name: androiddebugkey
Creation date: Jan 01, 2013
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4aa9b300
Valid from: Mon Jan 01 08:04:04 UTC 2013 until: Mon Jan 01 18:04:04 PST 2033
Certificate fingerprints:
MD5: AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6A:AC:F9
SHA1: BB:0D:AC:74:D3:21:E1:43:07:71:9B:62:90:AF:A1:66:6E:44:5D:75
Signature algorithm name: SHA1withRSA
Version: 3
У меня была такая же проблема, как использовать java jdk6 not jdk7... работать для меня
Спасибо всем. Я могу сгенерировать свой закрытый ключ MD5. Я знаю некоторую проблему. Если я использую java-версию 7, я получу SHA1, но когда я понижу версию Java-версии, такую как jdk1.6, я также получу MD5.
Я видел этот ответ в ссылке:
Как получить экземпляр "MD5" из хранилища ключей вместо "SHA"?
Причина в том, что в других ответах используется командная строка для получения SHA
, MD5
, но программа может разработать, чтобы явно получить экземпляр MD5
из подписи. В приведенном выше случае вы указываете SHA
, поэтому вы получите только SHA
.
Счастливое кодирование :-)