GoogleService初始化失败GoogleService初始化失败(GoogleService

2019-06-17 10:20发布

我用我的Android应用程序谷歌地图。 我已创建的密钥和清单文件中添加必要的权限。 但很快我开始了我的应用程序在调试器中得到这个消息:

GoogleService初始化失败,状态:10,缺少预期的资源:“R.string.google_app_id”初始化谷歌服务。 可能的原因是缺少谷歌,services.json或com.google.gms.google服务gradle这个插件。

我不知道什么是错。 该地图是工作的罚款,我可以使用它没有任何问题。 我gradle这个文件有以下条目:

编译“com.google.android.gms:播放服务:8.4.0”

它是什么抱怨?如何缓解呢?

Answer 1:

您需要将配置文件( google-services.json所产生) developer.google.com ,作为官方文档的第2步中提到这里

这个过程很简单

  1. 您可以选择您的项目或创建一个新的。
  2. 然后选择(在这种情况下,地图服务),所需的服务后,就可以生成配置文件。

    对于谁已迁移到火力地堡计划的人,他们可以通过将得到同样的火力地堡控制台 ,选择您的项目,并在设置你会发现配置文件。

  3. 然后引官方文档的第3步这里

    复制google-services.json您刚刚下载到应用程序/或移动/你的Android的目录文件

PS:对于人们downvoting这个答案,请不要离开,为什么你反对投票提出意见。



Answer 2:

[从产品经理@谷歌]

您可以通过下载和复制解决这个问题, google-services.json按照以下步骤为你的Android应用程序文件:

  • 从选择您的应用程序/项目名称和Android软件包名这个链接 ,并点击Continue to Choose and configure services
  • 点击Continue to Generate Configuration files
  • 下载google-services.json和文件复制到app/mobile/模块目录在你的Android项目。

如果您之前已经导入了谷歌的项目进入火力地堡,你可以从更新的谷歌,services.json 火力地堡控制台项目设置下。

通过其他的答案中的一个作为建议,因为google_app_id是指对您的应用项目,而不是项目本身不要复制 PROJECT_NUMBER。



Answer 3:

在我而言,这个错误的原因是,对摇篮的谷歌服务插件和播放服务库是不兼容的版本。 说明兼容版本:

1)添加的依赖到你的项目级的build.gradle:

classpath 'com.google.gms:google-services:1.5.0-beta2'

2)插件添加到您的应用程序级的build.gradle:

apply plugin: 'com.google.gms.google-services'

3)如果你使用过Android Studio,这是添加到您的应用程序的build.gradle文件的相关性部分的字符串:

dependencies {
  compile "com.google.android.gms:play-services:8.3.0"
}

来源: https://developers.google.com/cloud-messaging/android/client



Answer 4:

我遇到了同样的问题,解决它遵循了官方的解决办法 。

具体操作步骤如下:

  1. 获取配置文件, google-services.json从这个链接 。

  2. 复制google-services.json您刚刚下载到你的Android Studio项目的应用程序/或移动/目录下的文件。

  3. 依赖添加到您的项目级的build.gradle:

     classpath 'com.google.gms:google-services:1.5.0-beta2' 
  4. 该插件添加到您的应用程序级的build.gradle:

     apply plugin: 'com.google.gms.google-services' 
  5. 这种依赖关系添加到您的应用一级的build.gradle:

     dependencies { compile "com.google.android.gms:play-services:8.3.0" } 


Answer 5:

对于Xamarin / Visual Studio中的Mac,我需要把它添加到我的Droid.csproj底部

<Target Name="ProcessGoogleServicesJson" Condition=" '@(GoogleServicesJson)' != '' AND '$(AndroidApplication)' == 'True' AND '$(DesignTimeBuild)' != 'True'" BeforeTargets="$(ProcessGoogleServicesJsonBeforeTargets)" AfterTargets="$(ProcessGoogleServicesJsonAfterTargets)">
<Message Text="Using ProcessGoogleServicesJson override" Importance="high" />
<ProcessGoogleServicesJson GoogleServicesJsons="@(GoogleServicesJson)" IntermediateOutputPath="$(IntermediateOutputPath)" MonoAndroidResDirIntermediate="$(MonoAndroidResDirIntermediate)" AndroidPackageName="$(_AndroidPackage)">
    <Output ItemName="_AndroidResourceDest" TaskParameter="GoogleServicesGeneratedResources" />
    <Output ItemName="FileWrites" TaskParameter="GoogleServicesGeneratedResources" />
</ProcessGoogleServicesJson>
<ItemGroup>
    <FileWrites Include="$(IntermediateOutputPath)\ProcessGoogleServicesJson.stamp" />
</ItemGroup>

https://github.com/xamarin/GooglePlayServicesComponents/issues/64



Answer 6:

这也发生在我身上。 在我的情况,这是因为Android的工作室试图插入一些代码,我的主要活动。 卸下代码修正错误

插入代码是了解应用索引:

https://developers.google.com/app-indexing/android/publish



Answer 7:

我有同样的问题,当时的情况。 之所以能够只使用必要的Play服务库,这在我的情况GCM来解决它。

取而代之的com.google.android.gms:play-services:8.4.0 ,我用com.google.android.gms:play-services-gcm:8.4.0 。 见这里获得更多信息; 这也解决了multidex问题。

然后,我同时适用@Radix和@亚历山大的方法来删除该消息GCM已在有关的logcat的输出google-services.json



Answer 8:

对于那些谁面对这个问题即使正确设置播放服务,并把google-services.json文件中的project/app文件夹,实际的解决方案是

Build > Rebuild Project

这可能是由于这样的事实:从JSON文件中的字符串没有纳入编制资源,直到完全重建进行。



Answer 9:

您可以更改versionCodeversionName您的应用程序在你的摇篮文件。



Answer 10:

我用了一个快速的解决是禁用签名。 如果你不想创建生产代码,您可以设置构建变量调试,localOldDebug或localDebug。

点击构建变量在底部Android Studio中离开。

如何对禁用生成的签名-APK-机器人工作室



Answer 11:

只要有另一种解决办法我我不小心删除

SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
        .findFragmentById(R.id.map);
mapFragment.getMapAsync(this);

增加这个工作,是新的解决方案



文章来源: GoogleService failed to initialize