Ключ выпуска API Карт не работает

Я только что закончил свое первое приложение, которое использует API Карт и фрагмент Карт. С отладкой все работает нормально поэтому решил сделать подписанный apk. Чтобы подписанный apk работал с Maps API, мне нужен новый ключ. Вот как я это пробовал:

1) Создать подписанный apk

2) Я создаю новый файл хранилища ключей с окончанием .jks

3) APK успешно создан (этот apk еще не содержит нового ключа)

Configuration on demand is an incubating feature.
:app:preBuild
:app:preReleaseBuild
:app:checkReleaseManifest
:app:preDebugBuild
:app:prepareComAndroidSupportAppcompatV72100Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42100Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServices6171Library UP-TO-DATE
:app:prepareReleaseDependencies
:app:compileReleaseAidl
:app:compileReleaseRenderscript
:app:generateReleaseBuildConfig
:app:generateReleaseAssets UP-TO-DATE
:app:mergeReleaseAssets
:app:generateReleaseResValues UP-TO-DATE
:app:generateReleaseResources
:app:mergeReleaseResources
:app:processReleaseManifest
:app:processReleaseResources
:app:generateReleaseSources
:app:compileReleaseJava
:app:lintVitalRelease
:app:compileReleaseNdk
:app:preDexRelease
:app:dexRelease
:app:processReleaseJavaRes UP-TO-DATE
:app:validateExternalOverrideSigning
:app:packageRelease
:app:zipalignRelease
:app:assembleRelease

BUILD SUCCESSFUL

Total time: 1 mins 57.752 secs

4) Я использую keytool и получаю sha1 из файла хранилища ключей .jks

5) Я перехожу на веб-сайт API и создаю новый ключ для того же проекта, что и тот, который я ввел отладочный ключ.

6) я получаю ключ

6.1) Странно, там просто написано «Ключ для приложений Android», а не «Ключ для приложений Android (с сертификатом)», как написано в документации по API Карт.

7) Я поместил новый ключ в поле, где раньше находился ключ отладки

8) Я еще раз генерирую подписанный apk (с вводом пароля для хранилища ключей и псевдонима)

8.1) тот же вывод журнала, никаких отклонений от нормы

9) Устанавливаю apk на устройство

10) Не загружаются фрагменты карты

Я читал документацию снова и снова, но не могу найти, где делаю ошибку

Любая помощь приветствуется


person user3443786    schedule 03.11.2014    source источник


Ответы (1)


Вам нужно поместить SHA1 из вашего хранилища ключей в список разрешенных приложений для вашего проекта в консоли API.

На веб-странице консоли Google API выберите свой проект в раскрывающемся меню. Затем нажмите API-доступ. Оттуда у вас должна быть кнопка с надписью «Редактировать разрешенные приложения для Android». Щелкните по нему, и вы увидите несколько инструкций о том, что делать.

person kmdupr33    schedule 03.11.2014
comment
Спасибо, но это то, что я уже сделал на шагах 5 и 6. Я попытался создать новый ключ для SHA1, и я попытался добавить SHA1 в список разрешенных приложений, как вы только что описали, из ключа, который работает с отладочная версия. - person user3443786; 03.11.2014
comment
Вы добавили новый ключ в AndroidManifest? - person kmdupr33; 03.11.2014
comment
Я выяснил, что вызвало ошибку. В автоматически созданных действиях карт из Android Studio ключ был импортирован в манифест из файла ресурсов values ​​/ google_maps_api.xml. Когда я заменил его там, я полагаю, по какой-то причине он не был импортирован в сборку релиза. Теперь я жестко запрограммировал свой ключ в манифест, и теперь он работает :-) Большое спасибо за вашу помощь - person user3443786; 03.11.2014