Приложение Sign для Android содержит Google Maps

Я создал одно небольшое приложение, в котором использовал Google Maps API v2.

Для тестирования и отладки я использовал сгенерированное хранилище ключей отладки по умолчанию с именем debug.keystore.

Я сгенерировал свой SHA-ключ, который необходимо предоставить для использования карт, сгенерировал ключ API и использовал его в своем приложении. Я подписал приложение с помощью мастера EXPORT в eclipse и создаю новое хранилище ключей для своего приложения и генерирую apk приложения.

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

Как я подозреваю, это связано с новым хранилищем ключей для моего приложения, и я зарегистрировал ключ SHA отладочного хранилища ключей в консоли Google.

Что я делаю неправильно здесь и как я могу это исправить?


person Nirav Kamani    schedule 18.12.2013    source источник


Ответы (1)


При подписании приложения с отличным от отладочного keystore вы должны создать другое API_KEY, используя SHA1, сгенерированное из вашего текущего keystore, зарегистрировать его в Google API Console и использовать этот ключ для Google Maps. Ваши карты не будут отображаться, потому что API_KEY генерируется текущим хранилищем ключей и именем вашего пакета. Изменение файла хранилища ключей приведет к тому, что ваш MapView будет отображаться пустым, потому что SHA1 отличается.

Итак, в качестве окончательного ответа вы должны повторить все шаги, чтобы сгенерировать API_KEY для Google Maps с новым SHA1.

Редактировать: есть два варианта, которые вы можете использовать для создания SHA1 из файла keystore.

  1. keytool -list -v -keystore <path_to_your_keystore> даст вам SHA1.
  2. Используя Eclipse, если вы попытаетесь подписать свое приложение с помощью своего хранилища ключей, в конце перед сохранением файла .apk он покажет вам SHA1 и MD5, сгенерированные из вашего хранилища ключей. Я думаю, это был второй раз, когда вы пытаетесь подписать apk.
person hardartcore    schedule 18.12.2013
comment
можете ли вы сказать мне, как я могу это сделать? У меня есть некоторые неправильные представления о создании SHA1, потому что мне нужно указать хранилище ключей в команде, я прав? - person Nirav Kamani; 18.12.2013
comment
я попробовал второй шаг, но это не сделано, он не показывает мне никаких SHA1 и MD5, скажите, пожалуйста, как я могу это сделать? - person Nirav Kamani; 18.12.2013
comment
Он не будет отображаться в первый раз, я думаю, что он показывался во второй раз после того, как вы подписали свой apk. Если это не работает, попробуйте первый шаг. - person hardartcore; 18.12.2013
comment
эй, братан, я все еще не могу это сделать. я не знаю, как подписать это приложение, содержащее карты, я выполнил ваш 1-й шаг, я нашел некоторые ключи, используя команду keytool из моего сертификата приложения, например SHA1, SHA256 и многие другие, затем я создал новый API-ключ из этого SHA1 и использовал этот конкретный ключ в моем приложении, но он все еще отображается пустым. Помогите мне, братан. - person Nirav Kamani; 18.12.2013
comment
давайте продолжим это обсуждение в чате - person Nirav Kamani; 18.12.2013