вторник, 13 февраля 2018 г.

Получение контрольной суммы SHA-1 приложения

Ищем где на компьютере находится keytool
Скорее всего он пудет в папке 
C:\Program Files\Java\jdk1.7.0_05\bin

Путь и версия jdk могут быть разными

Открываем командную строку и вводим:
keytool -list -v -keystore D:\MyKeys\mykey.jks -alias MyApp

Где:
D:\MyKeys\mykey.jks  — путь к вашему ключу
mykey.jks — имя ключа
alias — псевдоним ключа. 

Далее система попросит ввести пароль. Вводим пароль который создали в процессе создания ключа.
После успешного ввода пароля получаем SH1:
SHA1: F3:A3:24:75:B2:A8:AD:09:R4:72:32:53:72:B5:98:5D:KF:1B:84:KC

Получите ключ Google Maps API

Для доступа к серверам Google Maps вашему приложению требуется ключ API. Вам нужен ключ API с ограничением для приложений Android. Ключ предоставляется бесплатно. Вы можете использовать его с любым из своих приложений, обращающихся к Google Maps Android API, без каких-либо ограничений по количеству пользователей.
Выберите один из следующих способов получить свой ключ API из Android Studio.
  • Самый быстрый и простой способ: Используйте ссылку в файле google_maps_api.xml, созданном Android Studio.
    1. Скопируйте ссылку из файла google_maps_api.xml и вставьте ее в адресную строку своего браузера. Эта ссылка перенаправит вас в Google API Console и предоставит в Google API Console необходимую информацию через параметры URL, тем самым сократив объем данных, которые требуется вводить вручную.
    2. Выполните инструкции, чтобы создать новый проект в Google API Console, или выберите существующий проект.
    3. Создайте ключ API, ограниченный для Android, для своего проекта.
    4. Скопируйте созданный ключ API, вернитесь в Android Studio и вставьте ключ API в элемент в файле google_maps_api.xml.
  • Несколько менее быстрый способ: Используйте учетные данные в файле google_maps_api.xml, созданном Android Studio.
    1. Скопируйте учетные данные из файла google_maps_api.xml.
    2. Откройте Google API Console в браузере.
    3. Используйте скопированные учетные данные, чтобы добавить приложение в существующий ключ API или создать новый ключ API.
  • Полный процесс получения ключа API: если в вашем случае ни один из приведенных способов не работает, следуйте описанию всего процесса.

Как сгенировать ключ для использования google maps api в Android

Для того, чтобы использовать в своих android-приложениях пакет классов для работы с  google-maps, необходимо получить от google бесплатный ключ – чтобы вставить его в файл-layout для отображения карты (поле android:apiKey для элемента com.google.android.maps.MapView). Для этого используется утилита keytool. Утилита keytool управляет хранилищем ключей (закрытых и публичных), а также их сертификатами. Хранилище ключй по умолчанию – файл специального формата.
Как получить ключ для google-maps MapView в Android:
1. Создаем новую пару ключей в хранилище (если хранилища не существует оно будет создано)
keytool -genkey -alias <имя ключа> -keystore <имя файла-хранилища ключей и сертификатов>
где:
  • genkey – указывает, что мы хотим создать в хранилище ключей новую пару ключей – открытый и закрытый
  • alias – указывает имя для наших ключей
  • keystore – указывает имя файла-хранилища ключей

2. Создаем и подписываем для ключей сертификат безопасности
keytool -selfcert -alias <имя ключа> -keystore <имя файла-хранилища ключей и сертификатов>
где:
  • selfcert – указывает что мы хотим создать сертифкат безопасности для нашей пары ключей
  • alias – указывает имя для наших ключей
  • keystore – указывает имя файла-хранилища ключей

3. Выводим сгенерированные ключи
keytool -list -alias <имя ключа> -keystore <имя файла-хранилища ключей и сертификатов> -storepass <пароль на хранилище> -keypass <пароль для ключа>
где:
  • list – используется для отображения сгенерированных ключей с псевдонимом заданным после флага alias в хранилище указанном после флага keystore
В результате вы должны получать запись вида:
  • Certificate fingerprint (MD5): 94:1E:43:49:87:73:BB:E6:A6:88:D7:20:F1:8E:B5:98
4. Скопировав полученное значение мы вставим его в специальную строку запроса на страничке google получения кодов, на его основе, в ответ, нам сгенерируется ключ, который мы должны вставить в наш код.
Пример для debug mode:
  • keytool -list -alias androiddebugkey -keystore $HOME/.android/debug.keystore -storepass android -keypass android