Я использую API Google Maps для Android, и у меня возникают некоторые проблемы.
Я подписываю свой apk с андроид-студией (создаем его на .android/keystore.jks). Также я выбираю "release" как тип в нем. Я использовал команду
keytool -list -v -keystore C:\Users\Toshiba\.android\keystore.jks
чтобы получить отпечаток SHA1 из хранилища ключей.
SHA1 верен, но карта не показана в подписанном APK. Он показан в отладочной APK.
Использование keytool с хранилищем ключей (keystore.jks) поможет мне:
SHA1: 33:46:07:82:5B:D4:45:D2:60:CE:5A:29:97:9F:6C:44:XX:XX:XX:XX
Отладка работает отлично (я добавил 2 в консоль API в Google)
33:46:07:82:5B:D4:45:D2:60:CE:5A:29:97:9F:6C:44:XX:XX:XX:XX;yac.breakingpoint
7C:28:61:5B:C3:4A:5C:50:44:AA:FD:58:69:E9:70:91:XX:XX:XX:XX;yac.breakingpoint
XX затемняется.
Keytool говорит, что использует SHA256withRSA как алгоритм подписи как для отладки, так и для хранилища ключей.
Что я делаю неправильно?
UPDATE Итак, я пробовал новый ключ API, очищал проект и перестраивал его, новое хранилище ключей - все еще не работало над выпуском... debug is fine!
ОБНОВЛЕНИЕ 2 Все еще не найдено рабочего решения... Помогите мне!
ОБНОВЛЕНИЕ 3. Все верно, он работает с использованием подписанного APK с отладкой типа сборки. Извлеките CERT.RSA и запустили keytool -printcert -file ./CERT.SA
. Получил тот же результат, что и для типа сборки выпуска. В выпуске он не работает!
ОБНОВЛЕНИЕ 4 Вот еще одна попытка, которую я сделал:
- Создан новый репозиторий GIT, который ему поручен.
- Папки
/build
не выполняются, поскольку они находятся в файлах.gitignore
. - Создал новый ключ API в консоли API и добавил к нему только клавишу release SHA1.
- Добавил этот API-ключ к приложению и полностью очистился при восстановлении.
- Сгенерирован новый подписанный файл APK
Это не сработало.
ОБНОВЛЕНИЕ 5 Один мой друг попытался воспроизвести эту проблему. У него такая же проблема при работе с андроид-студией. Вероятно, ошибка студии Android?