升级google-services至3.2.0时出现No match found异常求助
我之前升级到google-services 3.2.0时也踩过这个一模一样的坑!3.1.0能正常同步,唯独3.2.0抛出异常,大概率是新版本的校验规则或兼容性要求变了。给你几个亲测有效的排查方向:
严格校验google-services.json配置
3.2.0对package_name和项目applicationId的匹配校验比3.1.0严格得多,哪怕是大小写不一致、多了个空格或者后缀差异,都会触发No match异常。打开你的google-services.json,确认client[0].client_info.android_client_info.package_name和模块build.gradle里的applicationId完全一致。另外也检查下json里的project_id、client等核心字段有没有缺失或格式错误。匹配对应版本的Android Gradle插件(AGP)
google-services插件和AGP有明确的版本对应关系,3.2.0要求AGP版本至少在3.0.0及以上。如果你的根目录build.gradle里还在用2.3.x这类旧版AGP,就会出现不兼容问题。修改根build.gradle:dependencies { classpath 'com.android.tools.build:gradle:3.0.0' // 推荐升级到和google-services匹配的版本,比如3.2.0 classpath 'com.google.gms:google-services:3.2.0' }清理缓存后重新同步
旧的构建缓存可能残留了3.1.0的配置信息,导致和3.2.0冲突。先执行命令清理缓存:# Mac/Linux ./gradlew clean # Windows gradlew clean然后点击Android Studio右上角的「Sync Project with Gradle Files」按钮重新同步项目。
检查google-services插件的应用顺序
确保在模块级build.gradle的最后一行应用google-services插件,不能放在dependencies块之前,3.2.0对插件的加载顺序要求更严格:// 其他配置... dependencies { // 你的依赖项... } // 必须放在最后 apply plugin: 'com.google.gms.google-services'
如果以上方法都没解决,建议把完整的IllegalStateException堆栈信息贴出来,你当前提供的日志截断了关键部分,完整的异常信息能帮我们更精准定位问题。
内容的提问来源于stack exchange,提问作者Sai

