Android Studio编译报错:':app:compileDebugJavaWithJavac'任务执行失败
嘿,我之前在Android Studio 3.1.2搭配JRE 1.8.0的环境下也碰到过这个compileDebugJavaWithJavac的构建失败问题,给你几个亲测有效的解决办法:
先试试最基础的清理重建
点击AS顶部菜单栏的Build→Clean Project,等清理完成后再选择Rebuild Project。很多时候项目缓存文件损坏会导致这类莫名其妙的编译异常,清理后大概率能解决。确认Gradle版本与AS的兼容性
AS 3.1.2对应的官方推荐Gradle插件版本是com.android.tools.build:gradle:3.1.2,你可以打开项目根目录的build.gradle文件检查这个配置:buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.1.2' } }同时,Gradle wrapper的版本建议用
gradle-4.4-all.zip,你可以在gradle/wrapper/gradle-wrapper.properties文件中确认distributionUrl的配置:distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip检查Java版本的全局与项目配置
虽然你已经用了JRE 1.8.0,但要确保AS和项目都正确指向这个版本:- 打开
File→Project Structure→SDK Location,确认JDK location指向你的JRE 1.8安装路径; - 打开模块下的
build.gradle文件,确认Java编译版本设置:android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } }
- 打开
排查代码中的隐藏语法错误
这个Gradle异常有时候只是表象,真正的问题是Java代码里有语法错误(比如未闭合的括号、错误的注解使用、引用了不存在的类),AS可能没及时在编辑器里提示。你可以点击Build→Make Project,然后查看控制台输出的完整错误日志,找到具体出错的代码行来修复。手动删除缓存目录
如果上面的方法都没用,试试手动删除项目根目录下的.gradle文件夹和模块目录下的.build文件夹,然后重启Android Studio,再重新构建项目。这些目录里的缓存文件偶尔会出现不可恢复的损坏,删除后会重新生成干净的缓存。
内容的提问来源于stack exchange,提问作者day_dreamer

