Android gradle编译在使用Java1.8、jack和lambda时失败
我试图在我的项目中使用Java8,但在使用lambda表达式时出现了一个未知问题 例外情况: org.gradle.api.tasks.TaskExecutionException:任务的执行失败:SLL:compileReleaseJavaWithJavac' 原因:org.gradle.api.internal.tasks.compile.compiledFailedException:编译失败 当我在没有lambda的情况下运行时,我的项目中没有错误: 下面的代码工作得很好Android gradle编译在使用Java1.8、jack和lambda时失败,java,android,Java,Android,我试图在我的项目中使用Java8,但在使用lambda表达式时出现了一个未知问题 例外情况: org.gradle.api.tasks.TaskExecutionException:任务的执行失败:SLL:compileReleaseJavaWithJavac' 原因:org.gradle.api.internal.tasks.compile.compiledFailedException:编译失败 当我在没有lambda的情况下运行时,我的项目中没有错误: 下面的代码工作得很好 act.run
act.runOnUiThread(new Runnable() {
public void run() {
// Alert dialog here
}
});
但是使用lambda失败并抛出上面的异常
act.runOnUiThread(()->{
// Alert dialog here
});
build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "..."
minSdkVersion 16
targetSdkVersion 25
versionCode 1
versionName "1.0"
jackOptions {
enabled true
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
targetCompatibility 1.8 // or JavaVersion.VERSION_1_8
sourceCompatibility 1.8
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:25.0.1'
}
我不知道发生了什么事
提前谢谢你 我找到了一个临时解决方案,只有在库中使用lambda时才会出现问题,因为它不支持jack,jack只在主应用中受支持,我们正在等待android允许libs启用jack,但在此之前,我们可以将下面的代码添加到build.gradle库文件中
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xbootclasspath/a:" + System.properties.get("java.home") + "/lib/rt.jar"
}
}
gradle.projectsevaluate{
tasks.withType(JavaCompile){
options.compilerArgs您使用的是哪一版本的Android Studio?@JohnO'Reilly嘿John,最新的2.2.3,谢谢您使用Java 8运行Android Studio?是的John,我在Android Studio(jdk1.8.092)中使用Java 8抱歉,可能是明显的问题:)奇怪,使用相同的设置并工作