自分のプロジェクトでJava 8を使用しようとしていますが、ラムダ式を使用すると不明な問題が発生します。Java 1.8、ジャック、ラムダを使ってAndroid gradleコンパイルが失敗する
例外: org.gradle.api.tasks.TaskExecutionException:実行タスクに失敗しました ':SLL:compileReleaseJavaWithJavac'。
原因: org.gradle.api.internal.tasks.compile.CompilationFailedException:コンパイルに失敗しました。私はラムダなしで実行したときに私のプロジェクトで間違っありません
:
作業以下このコードは完全に
act.runOnUiThread(new Runnable() {
public void run() {
// Alert dialog here
}
});
しかし、ラムダを使用すると、失敗し、
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'
}
何が起こっているのか分かりません。
ありがとうございます!
使用しているAndroidスタジオのバージョンは何ですか? –
@ JohnO'Reilly Hey John、最新2.2.3、ありがとうございました – Mystic
AndroidスタジオでJava 8を使用していますか? –