错误提示:"模块根目录中缺少google-services.json文件。Google服务插件无法正常工作"。

233

我将我的项目更新到了最新的Play服务 classpath 'com.google.gms:google-services:1.5.0-beta2'。同时,在我的 app.gradle 文件中,我也在使用最新版本的playservices:

compile 'com.google.android.gms:play-services-location:8.3.0'
compile 'com.google.android.gms:play-services-gcm:8.3.0'

然而,当我编译时,Gradle抛出以下异常

Error:Execution failed for task ':app:processDebugGoogleServices'. > File google-services.json is missing from module root folder. The Google Services Plugin cannot function without it.
23个回答

265
您需要从开发者网站获取 配置文件,并将其粘贴到项目的应用级目录中。 更新: 前往:
  1. https://console.firebase.google.com/

  2. 选择您的项目

  3. 在左侧菜单中,单击设置 > 项目设置

  4. 添加应用程序或在 您的应用 部分下下载 google-services.json 文件。


15
你的意思是什么是“应用程序级别”? - Yakob Ubaidi
3
我已经生成了文件并在根目录和应用级别填写了build.grade,但仍然在gradle构建时遇到相同的错误? - Dinesh
5
这个链接已经失效。 - Pedro Lobito
6
对于Flutter来说,google-services.json文件必须位于 [项目根目录]/android/app/ 目录下。 - dark_ruby
2
我的 google-services.json 文件在 android/app/ 目录下,但是构建仍然找不到它。 - markhorrocks
显示剩余4条评论

124

请访问以下网址:

https://developers.google.com/mobile/add

选择您的选项,最终您将可以下载

google-service.json 文件

复制该文件并粘贴到

YourProjectName/app 目录中

然后重新编译项目,很可能它就可以正常运行了

在我的情况下,项目目录看起来像这样:

enter image description here


36
任何使用Firebase的人需要进入控制台,那里应该会显示“添加项目到Android”。从那里开始,它将逐步为您生成google-services.json文件。

2
我在 https://firebase.google.com/docs/database/android/start/ 上找到了设置说明。 - kip2

24

我的情况是我保存了一个带有空格的json文件,像这样

google-services .json

正确的文件名是

google-services.json

同时要注意用(-)代替(_)

这可能对某些人有所帮助。


22

在尝试运行Google的Firebase分析示例应用程序时,我收到了以下错误:

前提条件:

添加过程:

  1. 转到https://firebase.google.com/
  2. 单击“转到控制台”
  3. 点击“添加项目”
  4. 项目名称:输入:sample-app
  5. 点击“创建项目” [大约需要10秒钟左右...]
  6. 点击“继续”
  7. 在“入门”页面上,单击“将Firebase添加到您的Android应用程序”
  8. 为Android应用程序输入软件包名称 [完整的软件包名称显示在清单顶部:“com.google.firebase.quickstart.analytics”]
  9. 单击下载google-services.json
  10. 在文件浏览器中,将google-services.json添加到目录中: “quickstart / analytics / app” [警告:不要重命名文件,它必须是:google-services.json]
  11. 运行'app'
    • 示例应用程序已经包含必要的Gradle文件设置。
    • 当添加新项目时,请执行:工具-> Firebase-> Analytics->添加 事件->将应用程序连接到Firebase。
    • 通过Android Studio添加项目可确保设置了所有Gradle依赖项。

删除过程:

  1. 转到https://firebase.google.com/
  2. 单击“转到控制台”
  3. 设置->项目设置->删除此应用程序
  4. 设置->项目设置->删除项目
  5. 输入项目ID并按删除

我多次添加和删除示例应用程序,没有任何明显的副作用。


自从AndroidStudio 3.0版本以后,您可以从“工具”->“Firebase”中使用Firebase助手。 - Mahdi Javaheri

11
如果你不再需要它...
...build.gradle:
classpath 'com.google.gms:google-services:3.2.0'
-> // classpath 'com.google.gms:google-services:3.2.0'
...app\build.gradle:
apply plugin: 'com.google.gms.google-services'
-> // apply plugin: 'com.google.gms.google-services'

1
谢谢!当您下载在Google Play上可用的应用程序的源代码并希望在本地运行它时,这非常有用。我使用此方法禁用了此插件和另一个插件。 - GuiRitter
如果你需要在应用程序中注册Google Play服务,例如在推送通知方面,你将会遇到问题,因为你的应用程序未注册为Google Play服务的用户,所以你的推送类型将为空,而不是GMS。 - Alireza Jamali

8

定义"应用程序文件夹"。 - user9315861
项目设置 下,我们需要 添加应用程序,它将生成一个 google-services.json 文件,可以下载并添加到 <appName>/platforms/<platformName>/google-services.json。祝好运... - Aakash

6

我在从Firebase控制台下载google-services.json时遇到了问题。结果发现我必须退出除了Firebase使用的谷歌帐户之外的所有其他谷歌帐户。


1
你说的“退出其他账户”是指在设备上还是浏览器上退出? - Dinesh
我通常会同时在浏览器中登录多个Google账号(你可以在任何Google网站的右上角看到它们)。在Firebase开始工作之前,我不得不退出除用于Firebase的账号以外的所有账号。 - kar

6

对于 Cordova 应用

我们需要将 google-services.json 文件放置在 app root 目录下(我相信;与 Cordova 应用一起工作时,我们不应该进入其他文件夹/文件,如 Gradle、Java 文件、平台等;而是通过 config.xmlwww 文件夹来使用它们),并像这样在 config.xml 中引用它:

<platform name="android">
    <!-- Add this line -->
    <resource-file src="google-services.json" target="app/google-services.json" />
</platform>

注意:确保Firebase应用程序包名称<widget id="<packagename>" ... >中的id属性相同。

例如:

<!-- config.xml of Cordova App -->
<widget id="com.appFactory.torchapp" ...>

<!--google-serivces.json from generated from Firebase console.-->
{
  ...
  packagename: "com.appFactory.torchapp",
  ...
}

祝你好运...


4

1
这真的很奇怪,我并不需要显示的任何服务。但是仍然需要激活其中一个来获取JSON文件。 - Tsunaze
如果您没有使用任何服务,我想知道为什么将此依赖项包含在项目中? - Ramesh
2
Google 提供的服务列表包括:登录、云消息传递、分析、应用邀请和 Admob。如果我只想使用位置服务,仍需要配置文件。 - Tsunaze

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接