Flutter项目编译失败:找不到匹配的包名客户端
我之前也碰到过一模一样的问题,别慌,这本质上是Google服务配置文件和你的项目包名不匹配导致的。先看看你抛出的错误详情:
FAILURE: Build failed with an exception.
- What went wrong:
Execution failed for task ':app:processDebugGoogleServices'.No matching client found for package name 'com.example.charity1_project'
- Try:
Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.
- Get more help at https://help.gradle.org
BUILD FAILED in 10s
Error: Gradle task assembleDebug failed with exit code 1
下面给你几个快速解决的步骤:
第一步:确认项目的实际包名
打开你的Flutter项目,找到android/app/build.gradle文件,定位到defaultConfig区块里的applicationId字段,看看它的值是不是com.example.charity1_project——这就是你当前项目使用的包名。第二步:检查Google服务配置文件的包名
找到android/app目录下的google-services.json文件,用文本编辑器打开它,查找client -> client_info -> android_client_info -> package_name这个字段,对比它的值和你刚才在build.gradle里看到的applicationId是否一致。第三步:统一包名或重新下载配置文件
如果两者不一致,选以下一种方式解决:- 修改
build.gradle里的applicationId,让它和google-services.json里的package_name完全匹配; - 如果你需要保留当前项目的包名,就去你配置Google服务的平台(比如Firebase控制台),找到对应的项目,添加一个包名为
com.example.charity1_project的应用,然后重新下载生成的google-services.json,替换掉项目里的旧文件。
- 修改
第四步:清理缓存重新编译
最后执行flutter clean命令清理项目缓存,然后再运行flutter run重新编译项目,一般就能解决这个问题了。
备注:内容来源于stack exchange,提问作者Ahmad Sabah

