【Android Studio】java.nio.file.AccessDeniedException
2022-7-20 | Android Studio
Android Studioでビルド時に発生するjava.nio.file.AccessDeniedException
をどうにかしたい!
概要
今回の記事では、Android Studioでビルド時に発生するjava.nio.file.AccessDeniedException
を修正する手順を掲載する。
仕様書
環境
- Android Studio Bumblebee 2021.1.1 Patch 2
症状
ビルド時にエラー下記の例外が発生して、ビルドに失敗してしまう。
例としてAndroid StudioのプロジェクトはC:\project
に配置されてるものとする。
Execution failed for task ':app:dexBuilderDebug'.
> java.nio.file.AccessDeniedException: C:\project\app\build\intermediates\desugar_graph\debug\out\currentProject\dirs_bucket_0
* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:dexBuilderDebug'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:188)
at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:282)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:186)
...
長いので一部を抜粋してます。
手順書
ビルド時に作成される一時ファイルの権限がおかしくなってるのが、この例外の原因のようなので、一旦このファイルを削除する。削除したファイルはビルド時に再び作られる。
- プロジェクトを保存してるフォルダの中にある
\app\build
フォルダを削除する。 - ビルドする。
原因
Unityのプロジェクトでも同じようなことがあったんだけども、バックアップが面倒くさくて、Google Driveの同期ディレクトリにプロジェクトをまるごと保存してたのが、良くないみたい。
同様に同期の処理でアクセス権がぐちゃぐちゃになってしまったと思われ。
Unityでの対応手順は下記の記事に掲載してます。
まとめ(感想文)
プロジェクトをそのまんまクラウドストレージに保存するのは良くないのかもしれない。