«

»

Sep 13

Как сгенировать ключ для использования 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

2 comments

  1. google

    Не могу скачать хранилище ключей,что делать компании нет?

    1. admin

      Гм, да, ссылка устарела – сейчас ключ надо в Google Developers Console генерировать.
      https://developers.google.com/maps/documentation/android/start

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>