web-dev-qa-db-ja.com

現在のJDKバージョン1.8には、部屋が増分するのを防ぐバグがあります。

私たちは、マルチモジュールAndroidアプリ)のビルドタイムを改善しようとしています。インクリメンタルKAPTアノテーション処理コンパイルを有効にしようとしたポイントに達しました。

  • Android Studioのバージョン: v3.5.2
  • 部屋のバージョン: v2.2.1.
  • 卒業版: 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(各モジュール内):

_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ウィンドウでプロジェクトのデフォルトのJDKとしてOpen JDK 11を設定しようとしましたが、それはうまくいかなかったので、JDK 8ではないことについて不満を宣言しました。この設定の何が問題なのですか?

14
Bogdan Zurac

設定$Java_HOME/Applications/AndroidStudio.app/Contents/jre/jdk/Contents/Home私のシェルのために私を助けました。

0