Android Firebase:未找到与包匹配的客户端

Android Firebase: No matching client found for the package

我从我的一个朋友那里借了一个 android 项目,在导入之后,我得到了 The application was configured for some other audience - appId doesn't match the one in google-services.json 的错误。在那之后,我知道我必须更改 java 个文件的包名称并重新连接 firebase,所以我做到了。我一直收到错误消息:

Error:Execution failed for task ':app:processDebugGoogleServices'.
> No matching client found for package name 'com.***.***.chitchat'

我在 AndroidManifest.xml、build.gradle 和 google-services.json 中有相同的包名。奇怪的是,每个人都在进行必要的更改后解决了他们的问题。我的仍然抛出错误。这是为什么?

您的 Java 代码的包名称实际上与该错误无关。这是您需要查看的整个应用程序的应用程序 ID(在您的 build.gradle 中)。

google-services 插件查看您的应用程序 ID 并尝试将其与它在您的 google-services.json 文件中罚款的包名称相匹配。如果没有匹配,它会给你那个错误。要解决此问题,请在 build.gradle 中更改您的应用程序 ID 以匹配在 Firebase 控制台中为您的应用程序设置的程序包名称,或者在控制台中使用与您的应用程序 ID 匹配的程序包名称创建一个新应用程序。

如果您从朋友那里借了一个项目,我怀疑您也掌握了他们的 google-services.json,您通常不会共享或检查源代码管理,除非每个人都可以完全访问同一个项目。如果您在自己的项目中工作,则需要在控制台中进行设置并生成新的 google-services.json 以匹配您的应用。

我认为这里的问题是您的 gradle 中有多种构建类型。

尝试在 json 文件中根据构建类型添加后缀。

这可能会解决错误。