Gradle sync failed: Cause: com.android.build.gradle.api.BaseVariant.getOutputs()Ljava/util/List


Android Studio 3.0升级报错:Gradle sync failed: Cause: com.android.build.gradle.api.BaseVariant.getOutputs()Ljava/util/List

Gradle sync failed: Cause: com.android.build.gradle.api.BaseVariant.getOutputs()Ljava/util/List_第1张图片


根据第一条提示,重新下载编译也还是不行

然后第二条重启也还是不行

那看来只有第三条了,顺便新建了个项目测试,是可以运行的,所以可以确定的是升级过程中的操作都是正确的,然后就把错误定位在第三条,提示插件冲突


解决办法:


既然提示插件冲突,就直接粗暴的把插件干掉

1.把project下的build.gradle文件中的classpath删的只剩下gradle3.0.0

改之前

Gradle sync failed: Cause: com.android.build.gradle.api.BaseVariant.getOutputs()Ljava/util/List_第2张图片

改之后



这时候编译不会通过,找不到apt


2.再改app下的build.gradle文件,把apply删的只剩一个

改之前

Gradle sync failed: Cause: com.android.build.gradle.api.BaseVariant.getOutputs()Ljava/util/List_第3张图片

改之后



这时候编译也是不会通过的,因为之前的依赖方式有apt这种的


3.改依赖方式,以butter knife 为例

改之前


改之后



然后try again 编译通过!


annotationProcessor是官方出的插件用来代替apt的,解决反射机制所引起的性能效率问题,且apt现在已经不再维护了。


修改了依赖方式,有的库需要去官网查看新版本的依赖方式,有的可能使用方式都会有变化,所以还是仔细看介绍为好。


Android Studio 3.0升级看这里:Android Studio更新,3.0正式版来了!


Gradle升级看这里:Gradle升级



你可能感兴趣的:(Android,疑难杂症)