Android 27目标SDK项目构建失败:无法解析design:27.0.3依赖
解决Android 27依赖解析失败的问题
嘿,我之前碰到过一模一样的问题!这个错误本质是请求maven仓库时拿到了HTML内容(比如404页面或者代理返回的错误页面),而不是预期的pom文件,所以才会出现“For input string: "<!"”的报错。结合你的Android Studio 3.0.1版本,给你几个针对性的解决步骤:
1. 修正仓库配置写法
Android Studio 3.0+虽然支持google()仓库,但旧版本有时候对这个简写的支持不太稳定。你可以把项目根目录build.gradle里的google()替换成完整的maven地址试试:
allprojects { repositories { jcenter() // 替换google()为完整地址 maven { url 'https://maven.google.com' } // 如果访问google的仓库有网络问题,也可以试试这个镜像地址 // maven { url 'https://dl.google.com/dl/android/maven2/' } } }
2. 确认Android Support Repository已正确安装
打开Android Studio的SDK Manager,切换到SDK Tools标签,找到Android Support Repository,确保它已经安装,并且版本和你的27.0.3依赖匹配。如果有可用更新,先更新一下,然后重启Android Studio。
3. 清理缓存并重新同步
缓存混乱也经常导致这种奇怪的依赖问题:
- 点击菜单栏的
File > Invalidate Caches / Restart,选择“Invalidate and Restart”,让Android Studio彻底清理缓存并重启。 - 重启完成后,点击
File > Sync Project with Gradle Files,重新同步项目。
4. 检查网络代理设置
如果你的网络需要代理,很可能是代理配置出问题,导致请求maven.google.com时返回了错误的HTML页面:
- 进入
File > Settings > Appearance & Behavior > System Settings > HTTP Proxy,确认代理地址、端口都正确,或者尝试暂时关闭代理(如果网络允许的话)。 - 也可以切换到更稳定的网络环境,比如手机热点,再试试同步。
5. 备选:强制指定依赖配置
如果上面的方法都没效果,可以在app模块的build.gradle里更明确地指定依赖:
dependencies { implementation 'com.android.support:design:27.0.3' // 或者添加这个配置强制指定pom文件的获取方式 implementation group: 'com.android.support', name: 'design', version: '27.0.3', ext: 'pom' }
最后提一句,Android Studio 3.0.1确实是比较旧的版本了,长期来看,升级到3.2.x这类兼容旧SDK且修复了很多仓库bug的版本,能减少不少这类奇怪的问题,不过这可以放在最后尝试。
内容的提问来源于stack exchange,提问作者Mostafa
相关产品推荐
相关产品推荐

