Ionic3 Android生产构建失败:无法解析com.google.gms依赖问题
我之前在Ionic3项目里也碰到过一模一样的问题——iOS构建顺风顺水,一到Android生产构建就卡在这里。本质是Google服务插件的版本匹配问题:11+这种模糊版本号已经不被当前的Maven仓库支持,或者和项目里其他依赖的版本冲突了。下面是一步步的解决办法:
第一步:更新cordova-google-services插件
先把旧版本的插件删掉,换成最新稳定版,执行命令:cordova plugin remove cordova-plugin-google-services && cordova plugin add cordova-plugin-google-services@latest第二步:修改Android平台的build.gradle文件
找到项目里的platforms/android/build.gradle文件,打开后搜索com.google.gms:google-services,把原来的11+替换成具体的稳定版本号,比如目前常用的4.3.15(这个版本兼容性很好,和大部分Google服务依赖都能匹配):
原来的代码:classpath 'com.google.gms:google-services:11+'修改后:
classpath 'com.google.gms:google-services:4.3.15'第三步:统一其他Google服务依赖版本
打开platforms/android/project.properties文件,检查里面所有以com.google.android.gms:play-services-开头的依赖,确保它们的版本号是统一的——比如如果用的是12.0.1,就不要混合11.8.0这类旧版本,避免版本冲突。第四步:清理缓存重新构建
最后清理一下构建缓存,再重新执行生产构建命令:ionic cordova clean android && ionic cordova build android --prod --release
如果做完这些还是报错,那大概率是某个第三方插件硬编码了旧版本的google-services配置。这时候你可以排查最近添加的插件,找到对应的plugin.xml文件修改里面的gradle依赖版本,或者直接替换成该插件的最新版本。
内容的提问来源于stack exchange,提问作者Nulra

