Ответ 1
Запустите процесс экспорта, чтобы создать apk для своего приложения и используйте свой производственный ключ. На последней странице отображаются ваши отпечатки сертификата SHA1 и MD5
Я пытаюсь зарегистрировать свое приложение для Android в соответствии с шагами в https://developers.google.com/console/help/#installed_applications, что заставляет меня следовать http://developer.android.com/tools/publishing/app-signing.html.
Однако я не уверен, как получить отпечаток сертификата подписки (SHA1).
Сначала я использовал плагин Eclipse ADT для экспорта и создания ключа/ключа.
Затем я попытался сделать keytool -list keystore mykeystore.keystore
, и он дал мне отпечаток сертификата MD5. Нужно ли повторить подписание (что означает, что я не могу использовать мастер экспорта eclipse)?
Можно ли сначала использовать сертификат отладки?
Запустите процесс экспорта, чтобы создать apk для своего приложения и используйте свой производственный ключ. На последней странице отображаются ваши отпечатки сертификата SHA1 и MD5
Я знаю, что на этот вопрос был дан ответ, но вот как я нашел свою подпись для хранилища ключей по умолчанию. В Eclipse, если вы перейдете в Windows → Настройки → Android → Build
Я думаю, что это сработает отлично. Я использовал то же самое:
Для Android Studio:
используйте это в командной строке
c:\Program Files\Java\jdk1.6.25\bin>keytool -list -v -keystore c:\you_key_here.key
Откройте терминал (в Unix, MAC), (cmd
в Windows) и cd
к этому (ваш java ) путь:
C:\Program Files\Java\jdk1.6.0_43\bin>
Запустите эту команду:
keytool -list -v -keystore C:\Users\leon\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android
Просто измените путь на debug.keystore
, и вы получите как отпечатки пальцев MD5, так и SHA-1.
Если вы используете Mac или даже Linux, просто скопируйте и вставьте его в приложение Terminal, и вы сразу же получите ключ SHA1. Не нужно ничего менять.
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
Пример вывода:
Alias name: androiddebugkey
Creation date: 17 Feb 12
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: 4f3dfc69
Valid from: Fri Feb 17 15:06:17 SGT 2012 until: Sun Feb 09 15:06:17 SGT 2042
Certificate fingerprints:
MD5: 11:10:11:11:11:11:11:11:11:11:11:11:11:11:11:11
SHA1: 11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:01:11
Signature algorithm name: SHA1withRSA
Version: 3
keytool -list -v -keystore "keyStoreName"
Запустите эту команду из каталога, где хранится хранилище вашего приложения.
Посмотрите, хотите ли вы использовать Google Map
в то время вам нужно MD5
отпечаток пальца для генерации api kay
для использования карты google в вашем приложении для Android.
Команда Keytool генерирует отпечаток MD5
, если вы используете JDK 1.6
и генерируете отпечаток SHA1
, если вы используете JDK 1.7
.
Итак, если вы хотите подписать свое приложение для публикации, прочитайте this.
И если вы хотите использовать google-map
, прочитайте это.
Если вы используете IntelliJ (12+?), перейдите в меню Создать/сгенерировать подписанный Api
После заполнения всплывающего окна введите данные в поле "путь хранения ключей (например, C:\Users\user\Documents\store\store)
И запустите в командной строке:
>keytool -list -v -keystore "C:\Users\user\Documents\store\store"
....
MD5: 11:C5:09:73:50:A4:E5:71:A2:26:13:E0:7B:CD:DD:6B
--> SHA1: 07:0B:0E:E8:F7:22:59:72:6A:1C:68:05:05:CF:2E:6F:59:43:48:99
SHA256: E6:CE:DA:37:C1:18:43:C1:A3:F0:9E:8F:1A:C2:69:AF:E6:41:F7:C0:18:
1D:1D:55:5D:F0:52:6C:EE:77:84:A7
...
Удачи.
Если кто-то использует студию Android...
click: Build > Сгенерировать подпись в APK Создайте новый ключ: это создаст файлы .jks.
Используйте следующую команду для чтения данных (SHA1 и другая информация):
$keytool -list -v -keystore filename.jks
В ANDROID STUDIO Выполните следующие действия: 1. Нажмите Gradle меню свойств справа от вашей IDE студии. 2. Разверните дерево задач. 3. Нажмите на подписьReport Вы можете увидеть свой SHA1 на нижней консоли введите здесь описание изображения
Для тех, кто использует OpenSSL, вы можете получить отпечаток SHA1 следующим образом:
OpenSSL> dgst -sha1 my-release-key.keystore
Это приведет к следующему выводу:
Попробуйте следующее: Windows ---- предпочтения ---- Android - build --- sh1 копия кода отсюда
Если вы используете Android Studio. Вы можете быстро получить отпечаток SHA1 (отладка, выпуск... всех типов сборки!) Через Gradle Задачи:
signingReport
SHA1 отображается в Журналах сообщений
Плагин Android (настроенный в приложении gradle) создает режим отладки по умолчанию.
com.android.application
Путь файла к хранилищу ключей:
HOME/.android/debug.keystore
Я рекомендую прикрепить debug.keystore к build.gradle. Для этого поместите файл debug.keystore в папку приложения, а затем добавьте SigningConfigs в gradle app:
apply plugin: 'com.android.application'
android {
................
signingConfigs {
debug {
storeFile file("../app/debug.keystore")
storePassword "android"
keyAlias "androiddebugkey"
keyPassword "android"
}
release {
storeFile file("../app/debug.keystore")
storePassword "android"
keyAlias "androiddebugkey"
keyPassword "android"
}
}
........
}
Дополнительно: если вы хотите создать для выпуска, поместите файл release.keystore в папку приложения. (В этом примере используется тот же debug.keystore)
Если вы используете Android Studio. Вам не нужно создавать отпечаток SHA1 с помощью команды cmd. Вам просто нужно создать проект со статусом Карт по умолчанию для Android Studio. В проекте вы можете получить отпечаток в google_maps_api.xml в папке "Значения". Надеюсь, что это поможет вам.:)
Для тех, кто на Mac ищет keytool. выполните следующие действия:
Во-первых, обязательно установите Java JDK http://docs.oracle.com/javase/7/docs/webnotes/install/mac/mac-jdk.html
Затем введите это в командной строке:
/usr/libexec/java_home -v 1.7
он выплюнет что-то вроде:
/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
keytool находится в том же каталоге, что и javac
. т.е.:
/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin
В каталоге bin вы можете использовать keytool.
Я думаю, что это сработает отлично. Я использовал то же самое:
Для Android Studio:
Нажмите "Создать" > "Создать подписанный APK". Вы получите окно сообщения, просто нажмите "ОК".
Теперь будет другое окно, которое просто скопирует путь хранения ключей.
Теперь откройте командную строку и перейдите в C:\Program Files\Java\jdk1.6.0_39\bin > (или любую установленную версию jdk).
Введите keytool -list -v -keystore, а затем вставьте свой путь к хранилищу ключей (например, C:\Program Files\Java\jdk1.6.0_39\bin > keytool -list -v -keystore "E:\My Projects\Android\android studio\signed apks\Hello World\HelloWorld.jks" ).
Теперь он запросит пароль для хранения ключей, предоставит вам и нажмите Enter, чтобы получить ключи сертификата SHA1 и MD5.
Теперь добавьте этот ключ SHA1 в консоль разработчиков Google на вкладке учетных данных, а также измените варианты сборки в студии Android в режиме выпуска.
Я был так запутан в первый раз, но я предлагаю вам окончательное рабочее решение для Windows:
1) Откройте cmd и перейдите в каталог Java/jdk/bin (просто нажмите cd ..
, чтобы вернуться к одной папке назад и cd NAME_FOLDER
, чтобы перейти в одну папку вперед), в моем случае, конечная папка: C:\Program Files\Java\jdk1.8.0_73\bin>
2) Теперь введите эту команду keytool -list -v -keystore C:\Users\YOUR_WINDOWS_USER\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android
Вот мое легкое решение для этого.
Нажмите кнопку Gradle
, вы можете найти ее с правой стороны. вы увидите все файлы gradle. Теперь перейдите к android и дважды щелкните по подпискеReport. После завершения сборки gradle вы увидите SHA-ключ. Проверьте приведенные ниже изображения для пошагового руководства.
Как только вы нажмете gradle, проверьте приведенные ниже изображения. Надеюсь, это поможет кому-то.
STEP1: Изображение Шаг один
STEP2: Шаг Шаг второй
Используя portecle:
Это видео мне очень помогло
Самый простой способ получить SHA-1 для версии и отладки в студии android studio gradle. Проверьте это
Я хотел бы отправить уведомление тем, у кого такая же проблема, как и я. Я прошел через шаги по созданию моего отладочного SHA-1 и моего релиза SHA-1. Я пытался подключить API входа в Google с моим приложением.
Я столкнулся с проблемой, что debug.apk будет работать нормально, он будет подключаться и аутентифицироваться с помощью входа в Google. Мой релиз .apk также будет работать при установке вручную на телефон. Когда я отправил свой выпуск .apk в магазин Google Play, мой вход в Google не будет проходить проверку подлинности, и у меня возникнет проблема!
В течение самого долгого времени я не мог понять это, но я обнаружил, что мое приложение подписывается google, т.е. появляется сообщение в верхней части консоли разработчика: Подписывается приложение Google Play App Signing для этого приложения.
Я перешел на вкладку "Управление выпуском", затем прокрутился до "Подпись приложения" и нашел там SHA-1. Добавив это в свой код и на "firebase console", которые я использовал в качестве бэкэнда для входа в Google, все, казалось, сработало. Похоже, что мое хранилище ключей было заменено подписанным сертификатом google... Я не совсем уверен, что это то, что происходило, но оно разрешило мою проблему и разрешило моей версии Apple App Store для правильной аутентификации с помощью знака google в!
Пошаговое решение:
Измените каталог в каталог расположения файла keytool. Измените каталог с помощью команды cd <directory path>
. (Примечание: если какое-либо имя каталога имеет пробел, добавьте \ между двумя словами. Пример cd /Applications/Android\ Studio.app//Contents/jre/jdk/Contents/Home/bin/
)
Чтобы найти местоположение вашего ключевого инструмента, перейдите в андроид-студию... откройте свой проект. И идите к
Файл > Структура проектa > Местоположение SDK.. и найдите местоположение JDK.
Запустите keytool с помощью этой команды:
keytool -list -v –keystore <your jks file path>
(Примечание: если какое-либо имя каталога имеет пробел, тогда добавьте\между двумя словами. example
keytool -list -v -keystore /Users/username/Desktop/tasmiah\ mobile/v3/jordanos.jks
)
Запрограммируйте запрос на ввод пароля.. поэтому введите пароль... затем вы получите результат