相关疑难解决方法(0)

使用Google Services 3.0.0时缺少api_key /当前密钥

自从我使用最新版本的google服务和库(9.0.0)升级项目后,我遇到了这个奇怪的问题:

错误构建

等级控制台:

:app:processDebugGoogleServices
Parsing json file: /Users/cyrilmorales/Documents/Projects/mobilemeans-punainenristi/app/google-services.json
:app:processDebugGoogleServices FAILED
Error:Execution failed for task ':app:processDebugGoogleServices'.
> Missing api_key/current_key object
Information:BUILD FAILED
Run Code Online (Sandbox Code Playgroud)

build.gradle(root):

dependencies {
    classpath 'com.android.tools.build:gradle:2.2.0-alpha1'
    classpath 'com.google.gms:google-services:3.0.0'
}
Run Code Online (Sandbox Code Playgroud)

build.gradle(app):

dependencies {
    ....
    compile 'com.google.android.gms:play-services-analytics:9.0.0'
    compile 'com.google.android.gms:play-services-gcm:9.0.0'
    compile 'com.google.android.gms:play-services-maps:9.0.0'
    compile 'com.google.android.gms:play-services-location:9.0.0'
    ...
}
apply plugin: 'com.google.gms.google-services'
Run Code Online (Sandbox Code Playgroud)

但是,它适用于8.4.0和google-services 2.1.0中的播放服务库

你对这个解决方案有什么看法吗?

android google-play-services android-gradle-plugin

156
推荐指数
6
解决办法
6万
查看次数

在build.gradle中缺少使用Google Services 3.0.0和Maps API密钥的api_key /当前密钥

我的问题非常类似于使用Google Services 3.0.0丢失api_key /当前密钥,但复杂程度更高.

我今天早上将我的应用更新到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'
Run Code Online (Sandbox Code Playgroud)

现在我得到了臭名昭着的错误

错误:任务':hotelsclick:processDebugGoogleServices'的执行失败.>缺少api_key/current_key对象

这似乎是由于google-services.json文件中缺少API密钥(所以我被告知).我从https://developers.google.com/cloud-messaging/android/client#get-config获取了一个新的API密钥,并在其中找到了以下字段.

  "api_key": [],
Run Code Online (Sandbox Code Playgroud)

我想我应该把我的Google Maps API密钥放在那里,但是这里出现了我遇到的双重问题:

1-如果我尝试将密钥放在该字段内,则不起作用.我试过两个

  "api_key": [{ "current_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-AE" }],
Run Code Online (Sandbox Code Playgroud)

  "api_key": ["XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-AE"],
Run Code Online (Sandbox Code Playgroud)

错误保持不变.

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'
    } …
Run Code Online (Sandbox Code Playgroud)

android google-maps google-play-services android-gradle-plugin

35
推荐指数
2
解决办法
2万
查看次数

GCM API密钥与发件人ID

我对GCM Sender ID和API密钥感到困惑.我负责构建第三方服务器,该服务器将向Android应用程序发送通知.

我必须在服务器端存储哪一个?API密钥或发件人ID?谁负责创建Android开发人员或我?

push-notification google-cloud-messaging

14
推荐指数
1
解决办法
3万
查看次数