Java Gradle 中的 8 个构建错误

Java 8 Build Error in Gradle

我正在尝试在 Android 上使用 JGraphT,因为我似乎无法在 Java 中找到任何其他像样的图形算法库(欢迎推荐,我试过了鄂尔多斯,它不适合我的需要)。存储库中缺少文档,但这是我尝试安装它的方法:

build.gradle(模块:应用程序)

android {
    ...
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    ...
}

dependencies {
    ...
    compile 'org.jgrapht:jgrapht-core:1.0.1'
    ...
}

我知道 JGraphT 使用 Java 8 并且最新版本的 Android Studio (2.3.3) 包含 Jack 编译器。但是,当我尝试构建项目时出现以下错误。

Error:Execution failed for task ':app:transformClassesWithPreJackPackagedLibrariesForDebug'.
> com.android.sched.scheduler.RunnerProcessException: Error during 'TypeLegalizer' runner on 'private final synthetic int org.jgrapht.alg.vertexcover.-$Lambda.$m[=13=](java.lang.Object arg0)': Unexpected error during visit: com.android.jack.ir.ast.JReturnStatement at "Unknown source info"

这看起来像是某种 Java 8 编译问题,但我不知道如何修复它。

Jack 仍然不支持所有 java 8 功能。 有关操作方法,请参阅 Java 8 Language Features | Android Developers。 而且已经 deprecated:

We've decided to add support for Java 8 language features directly into the current javac and dx set of tools, and deprecate the Jack toolchain.

所以很遗憾现在不可能编译Java 8 个库