gpt4 book ai didi

android - 当前的 JDK 版本 1.8 有一个 bug 会阻止 Room 增量

转载 作者:行者123 更新时间:2023-12-01 00:10:49 26 4
gpt4 key购买 nike

我们正在尝试改进我们的多模块 Android 应用程序的构建时间,并且我们已经达到了尝试启用增量 KAPT 注释处理编译的地步。

  • Android Studio 版本: v3.5.2
  • 房间版: v2.2.1
  • Gradle 版本: v5.4.6
  • Android Gradle 插件版本: v3.5.2
  • Kotlin 版本: v1.3.50

  • gradle.properties:
    org.gradle.daemon=true
    org.gradle.caching=true
    org.gradle.parallel=true

    kapt.incremental.apt=true
    kapt.use.worker.api=true
    kapt.include.compile.classpath=false

    android.databinding.incremental=true

    build.gradle(在每个使用 Room 的模块内):
    kapt {
    arguments {
    arg("room.incremental", "true")
    }
    }

    但是,在尝试使用 gradlew assemble -scan 对构建时间进行基准测试时命令,Gradle 会抛出以下错误:
    warning: Current JDK version 1.8.0_201-b09 has a bug (https://bugs.openjdk.java.net/browse/JDK-8007720) that prevents Room from being incremental. Consider using JDK 11+ or the embedded JDK shipped with Android Studio 3.5+.
    ANTLR Tool version 4.5.3 used for code generation does not match the current runtime version 4.7.1
    [WARN] Incremental annotation processing requested, but support is disabled because the following processors are not incremental: androidx.room.RoomProcessor (DYNAMIC).

    我尝试在 Project Structure 窗口中将 Open JDK 11 设置为项目的默认 JDK,但它不起作用,它提示它不是 JDK 8。任何想法这个设置有什么问题?

    最佳答案

    您将需要使用嵌入 AS 的 JDK 来解决此问题。确保使用上面的 AS 3.5。
    关于项目结构 -> SDK 位置
    确保 jdk 指向 AS 附带的 jdk。
    /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home
    然后您将需要重新启动您的 AS。

    如果您从终端运行,请确保 $JAVA_HOME 包含正确的路径。

    我猜 Android Studio 还不支持 JDK 11。我还尝试使用最新的 JDK 8(231,其中 AS 3.5 使用 202)但它导致了这个问题。

    关于android - 当前的 JDK 版本 1.8 有一个 bug 会阻止 Room 增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58822538/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com