升级Android Studio3.1及Gradle4.4后,Gradle.build无对应代码却报3个错误
解决Android Studio 3.1 + Gradle 4.4 虚假错误提示问题
嘿,我之前帮朋友排查过几乎一模一样的问题!这些错误看起来像是升级后Android Studio的缓存或者依赖树解析“抽风”了,明明你已经确认build.gradle里没这些问题,却还是弹提示,给你逐个解决:
1. 虚假的“compile已过时”提示
如果你的所有module的build.gradle里都已经把compile换成了implementation,那大概率是第三方依赖间接用了compile配置,或者AS缓存没更新:
- 先跑一下命令查看完整依赖树,找出藏在第三方库的compile引用:
(Windows系统用./gradlew dependenciesgradlew.bat dependencies) - 直接清理AS缓存:点击顶部菜单
File -> Invalidate Caches / Restart,选择Invalidate and Restart,等AS重启后再同步项目。
2. support库版本不一致的虚假提示
这个提示最常见的原因是第三方依赖偷偷引入了更高版本的support库,而你自己的build.gradle里只声明了26.1.0:
- 先定位哪个依赖搞的鬼:
(把./gradlew app:dependenciesapp换成你的主module名称),在输出里找com.android.support:appcompat-v7的条目,看哪个依赖带了27.1.0版本。 - 强制统一support库版本,在根目录的build.gradle里添加配置:
allprojects { repositories { // 保持你原来的仓库配置(google()、jcenter()之类的) } configurations.all { resolutionStrategy { // 要么强制用你声明的26.1.0,要么统一升级到27.1.0 // 如果你选升级,记得把compileSdkVersion和targetSdkVersion改成27 force 'com.android.support:appcompat-v7:26.1.0' } } } - 同步项目后,这个提示应该就消失了。
3. 不完整的TaskExecutionException错误
这个错误信息被截断了,但这类问题如果代码和配置都没问题,基本是gradle缓存或者同步不彻底导致的:
- 先清理项目缓存:
./gradlew clean - 然后点击AS右上角的
Sync Project with Gradle Files按钮,重新同步。 - 检查gradle插件和gradle版本是否匹配:根build.gradle里的插件版本应该是3.1.x,对应Gradle4.4:
同时确认buildscript { dependencies { classpath 'com.android.tools.build:gradle:3.1.0' } }gradle/wrapper/gradle-wrapper.properties里的distributionUrl是https\://services.gradle.org/distributions/gradle-4.4-all.zip。
这些操作下来,应该能把这几个虚假错误都干掉!
内容的提问来源于stack exchange,提问作者Siddharth
相关产品推荐
相关产品推荐

