моя проблема очень похожа на Отсутствует api_key/текущий ключ с Google Apps 3.0.0, но с еще большей степенью сложности.
Сегодня утром я обновил приложение до com.google.gms: google-services: 3.0.0 и всех зависимостей play-services 9.0.0
compile 'com.google.android.gms:play-services-analytics:9.0.0'
compile 'com.google.android.gms:play-services-ads:9.0.0'
compile 'com.google.android.gms:play-services-identity:9.0.0'
compile 'com.google.android.gms:play-services-gcm:9.0.0'
Теперь я получаю печально известную ошибку
Ошибка: выполнение не выполнено для задачи ': hotelsclick: processDebugGoogleServices'. > Отсутствует объект api_key/current_key
Это связано с отсутствием ключа API в файле google-services.json(так мне сказали). Я получил новый ключ API из https://developers.google.com/cloud-messaging/android/client#get-config и нашел в нем следующее поле.
"api_key": [],
Я предполагаю, что я должен добавить свой ключ API Карт Google, но здесь возникает двойная проблема, с которой я сталкиваюсь:
1- Если я попытаюсь поместить ключ в это поле, это не сработает. Я попытался с помощью
"api_key": [{ "current_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-AE" }],
и
"api_key": ["XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-AE"],
ошибка остается неизменной.
2- Я использовал gradle, чтобы использовать динамическое построение. В моем модуле build.gradle вложено следующее:
buildTypes {
release {
minifyEnabled true
shrinkResources true
debuggable false
resValue "string", "google_maps_api_key", "ABCDEFGHILMNO... my maps release API key"
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
zipAlignEnabled true
}
debug {
resValue "string", "google_maps_api_key", "ZNTMRNCDNR... my google maps debug API key"
debuggable true
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
В файле Androidmanifest.xml у меня есть
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_api_key" />
Теперь он работал до тех пор, пока я не обновился до Google Services 3.0.0, я не понимаю, почему он не работает сейчас. Не следует ли захватить правильный ключ API из скомпилированного файла build.gradle и поместить его в манифест?
Итак, мой двойной вопрос: почему работа с динамическим API-интерфейсом больше не работает? И как я могу это исправить?
Спасибо