【问题标题】:Java 8 Build Error in GradleGradle 中的 Java 8 构建错误
【发布时间】:2017-03-18 18:35:36
【问题描述】:

我正在尝试在 Android 上使用JGraphT,因为我似乎在 Java 中找不到任何其他像样的图形算法库(欢迎提出建议,我已经尝试过 Erdos,但它不适合我的需求)。存储库中缺少文档,但这是我尝试安装它的方法:

build.gradle(模块:app)

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$71.$m$0(java.lang.Object arg0)': Unexpected error during visit: com.android.jack.ir.ast.JReturnStatement at "Unknown source info"

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

【问题讨论】:

    标签: java android android-studio java-8 jgrapht


    【解决方案1】:

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

    我们决定直接添加对 Java 8 语言功能的支持 进入当前的 javac 和 dx 工具集,并弃用 Jack 工具链。

    不幸的是,现在不可能编译 Java 8 库

    【讨论】:

      猜你喜欢
      • 2012-02-03
      • 1970-01-01
      • 2016-10-22
      • 2015-07-02
      • 2016-10-21
      • 2016-05-08
      • 2015-06-13
      相关资源
      最近更新 更多