任务“:app:processDebugGoogleServices”的执行失败。>未找到适用于包名称“com.example.myapp”的匹配客户端。

7
  • 出现了什么问题: 任务':app:processDebugGoogleServices'执行失败。

找不到与包名'com.example.myapp'相匹配的客户端。

  • 尝试: 使用--stacktrace选项运行以获取堆栈跟踪信息。使用--info或--debug选项运行以获取更多日志输出。使用--scan选项以获取完整的分析信息。

这是来自Google Service.json文件中的客户端部分:

"client": [https://dev59.com/YMDqa4cB1Zd3GeqPTwLm {

  "client_info": {

"mobilesdk_app_id": "1:110944006455:android:f790b09ad0563a63046ab2",
"android_client_info": {
  "package_name": "com.example.myapp"
}
}

这是我的build.gradle文件

defaultConfig {
    // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
    applicationId "com.example.riderapp "
    minSdkVersion 16
    targetSdkVersion 28
    versionCode flutterVersionCode.toInteger()
    versionName flutterVersionName
}

您可以看到两者的应用程序ID相同。但我收到了此错误:

  • 出现了什么问题: 任务:app:processDebugGoogleServices执行失败

找不到与包名称“com.example.myapp”匹配的客户端


1
你在 build.gradle 中实现了 Google 服务吗?classpath 'com.google.gms:google-services:4.3.4' - CodeforCore
4个回答

15

两者的应用程序ID不同。在Google服务JSON文件中,它说的是com.example.myapp

但在您的build.gradle中,它是com.example.riderapp

前往Firebase,在此步骤中再次使用BuildGradle中使用的名称com.example.riderapp添加您的应用程序,并将SHA-1调试密钥添加到Firebase中,然后重新下载JSON并删除旧的。然后向我们报告结果。

注意:确保将新的google-services.json命名为google-services.json


1
我忘记了我正在使用gadle的applicationIdSuffix来处理我的变体项目类型,并且我选择了debug(与google-service.json应用程序ID不同,谢谢!) - Chris Ho
@ChrisHo 我有一个类似的情况,如何构建不同的变体呢? - Vikas Pandey
@VikasPandey 确保你的项目包名和 google-service.json 的设置包名完全相同。 - Chris Ho
@ChrisHo 是的,我理解了那部分。 似乎每个应用程序 ID 都需要一个不同的 Firebase 项目,然后有那么多的 Google 服务 JSON 文件。 有没有更简单的方法?我正在寻找一种解决方案,只需要一个包含所有客户端(applicationId)信息的 Google 服务 JSON 文件。 - Vikas Pandey

1
解决方案: 正如@Huthaifa Muayyad所说,应用程序ID不同,您可以按照他所说的方法操作,或者更直接的方法是将"google-services.json"中的"package_name"更改为"com.example.riderapp"。

原因:当您与队友共享项目时,如果他们的项目名称不同,则会出现此错误,因此我们需要将"package_name"更改为我们的项目名称。

即使这样,仍可能会出现错误,例如"ERROR:D8: Cannot fit requested classes in a single dex file (# methods: 97652 > 65536) com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: The number of method references in a .dex file cannot exceed 64K.",您可以按照@king mort在D8: Cannot fit requested classes in a single dex file中提到的方法进行解决。


1

你的 Android [React Native] 项目 Bundle ID 与 Firebase 项目 Bundle ID 不同,请在 Firebase 上创建新应用程序或将您的应用程序本地 Bundle ID 更改为与 Firebase 上相同


-1

在 app/build.gradle 中将 minSdkVersion 更改为 21,并将项目中的每个 'com.example.anything' 更改为您的项目 ID(您可以在 Firestore 的项目详细信息中找到它)


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