Ionic3构建错误:无法找到play-services-auth-base.aar(15.0.1)
解决Cordova 6.3.0构建时找不到play-services-auth-base.aar的问题
我之前处理过不少旧版Cordova项目的依赖冲突问题,结合你已经做的操作,给你几个针对性的解决方案:
1. 调整Google Maven仓库配置与顺序
你已经添加了Google仓库,但旧版Gradle对maven.google.com的支持可能存在兼容问题,而且仓库顺序会直接影响依赖的查找优先级。建议修改platforms/android/build.gradle中的allprojects部分,把Google仓库放在jcenter前面,同时使用更兼容的仓库地址:
allprojects { repositories { maven { url "https://dl.google.com/dl/android/maven2/" } jcenter() } }
这样Gradle会优先从官方Google仓库查找依赖,避免jcenter中缺少对应版本的包。
2. 强制统一Play Services依赖版本
部分插件可能会依赖不同版本的Play Services组件,导致版本冲突,最终引发依赖查找失败。你可以在platforms/android/build.gradle中添加强制版本的配置,确保所有插件都使用你指定的15.0.1版本:
configurations.all { resolutionStrategy { force 'com.google.android.gms:play-services-auth-base:15.0.1' force 'com.google.android.gms:play-services-auth:15.0.1' } }
3. 清理缓存后重新构建
缓存文件经常会导致各种奇怪的依赖问题,执行以下命令清理相关缓存:
# 清理Cordova项目构建缓存 cordova clean android # 删除本地Gradle缓存 rm -rf platforms/android/.gradle rm -rf ~/.gradle/caches
完成后再尝试重新构建:
cordova build android
4. 检查并修复插件的硬编码依赖
有些旧插件会在plugin.xml中硬编码低版本的Play Services依赖,这会和你全局设置的15.+版本冲突。你可以按以下步骤处理:
- 执行
cordova plugin list列出所有插件,排查哪些插件涉及Google身份验证或Play Services相关功能 - 找到对应插件的
plugin.xml文件,查找类似如下的配置:<framework src="com.google.android.gms:play-services-auth:11.0.4" /> - 将其修改为和你全局一致的版本:
<framework src="com.google.android.gms:play-services-auth:15.+" /> - 移除并重新添加该插件,确保修改生效:
cordova plugin remove [插件名称] cordova plugin add [插件名称]
这些方案都是基于你不想升级Cordova到7.x的前提设计的,应该能解决你遇到的依赖查找问题。
内容的提问来源于stack exchange,提问作者Gary Klasen
相关产品推荐
相关产品推荐

