Android Studio で「モジュール java.base が名前のないモジュールに対して「java.io」を開かない」というエラーを修正するにはどうすればいいですか? 質問する

Android Studio で「モジュール java.base が名前のないモジュールに対して「java.io」を開かない」というエラーを修正するにはどうすればいいですか? 質問する

背景

  1. Android プログラミングに慣れるために、Android Studio で最初のプロジェクトを開始しました。
  2. 私はこれをフォローしていますチュートリアル、 その中で
  • 変更せずに新しいプロジェクトEmpty Activityを作成しました
  • 「Hello World」メッセージを表示するシンプルなアプリをシミュレートすることになっています

問題の説明しかし、実行してビルドしようとするたびに (現時点ではエミュレーターを実行したいのですが)、次のエラー メッセージが表示されます。

Unable to make field private final java.lang.String java.io.File.path accessible:
Unable to make field private final java.lang.String java.io.File.path
accessible: module java.base does not "opens java.io" to unnamed module @42760a00

私の設定は次のとおりです:

  1. Android Gradle プラグイン バージョン: 4.2.1
  2. Gradleバージョン: 7.0.1 (Gradleの同期中に発生した別の問題(「Gradleの同期に失敗しました: サポートされていないクラスファイルのメジャーバージョン60」)を修正するために変更され、これに基づいて議論されました。フォーラム以下引用)

Andrey Dernov は 2021 年 4 月 14 日 00:18 にコメントしました。プロジェクトのインポートとビルドには、Gradle 7.0 または JDK バージョン 16 未満を使用してください (設定 (macOS では環境設定) | ビルド、実行、デプロイメント | ビルド ツール | Gradle | Gradle JVM オプション)。

  1. 16.0.1 より前のバージョン

何か提案やアイデアはありますか?

ベストアンサー1

解決策はGitHub私の場合はうまくいきました。Java JDK をダウングレードする必要はありませんでした。gradle-wrapper プロパティの gradle バージョンを 7.1.1 (6.x は Java 16 をサポートしていません) に変更し、gradle.properties に次の行を追加するだけです。

org.gradle.jvmargs=-Xmx1536M \
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED \
--add-opens=java.base/java.lang=ALL-UNNAMED \
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED \
--add-opens=java.base/java.io=ALL-UNNAMED \
--add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED

おすすめ記事