Android Room 增量警告

Iva*_*van 5 android android-room

出现了与 Room 相关的警告,这让我很困扰......

> Task :api:kaptDevDebugKotlin
warning: Current JDK version 1.8.0_221-b11 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+.
[WARN] Incremental annotation processing requested, but support is disabled because the following processors are not incremental: androidx.room.RoomProcessor (DYNAMIC).
Run Code Online (Sandbox Code Playgroud)

这是 gradle 中的 kapt

kapt {
    arguments {
        arg("room.schemaLocation", "$projectDir/schemas".toString())
        arg("room.incremental", "true")
        arg("room.expandProjection", "true")
    }
}
Run Code Online (Sandbox Code Playgroud)

gradle 中的依赖

// Room
implementation "androidx.room:room-runtime:2.2.4"
kapt "androidx.room:room-compiler:2.2.4"
Run Code Online (Sandbox Code Playgroud)

我知道有一些与 Room Processor 相关的问题:

  1. https://android.googlesource.com/platform/frameworks/support/+/refs/heads/androidx-master-dev/room/compiler/src/main/kotlin/androidx/room/processor/ProcessorErrors.kt?autodive= 0%2F%2F%2F%2F%2F%2F%2F%2F

  2. https://android.googlesource.com/platform/frameworks/support/+/refs/heads/androidx-master-dev/room/compiler/src/main/kotlin/androidx/room/RoomProcessor.kt?autodive=0% 2F%2F%2F%2F%2F%2F%2F

上面的第二个链接提到,如果 AS 升级到 3.5+,警告不会再次显示。

The above JDK bug was fixed in JDK 11. The fix was also cherry-picked back into the
embedded JDK that was shipped with Android Studio 3.5+.
Run Code Online (Sandbox Code Playgroud)

我正在使用 AS 3.6.1 但警告仍然存在。我已经检查了我的 JDK 位置,它正在使用嵌入式,即使我还有另一个 JDK 位置。

在此处输入图片说明

在此处输入图片说明

有没有办法摆脱这个警告?