【Android Studio】java.nio.file.AccessDeniedException

ネコニウム研究所

PCを利用したモノづくりに関連する情報を掲載するブログ

【Android Studio】java.nio.file.AccessDeniedException

2022-7-20 |

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)

...

長いので一部を抜粋してます。

手順書

ビルド時に作成される一時ファイルの権限がおかしくなってるのが、この例外の原因のようなので、一旦このファイルを削除する。削除したファイルはビルド時に再び作られる。

  1. プロジェクトを保存してるフォルダの中にある\app\buildフォルダを削除する。
  2. ビルドする。

原因

Unityのプロジェクトでも同じようなことがあったんだけども、バックアップが面倒くさくて、Google Driveの同期ディレクトリにプロジェクトをまるごと保存してたのが、良くないみたい。

同様に同期の処理でアクセス権がぐちゃぐちゃになってしまったと思われ。

Unityでの対応手順は下記の記事に掲載してます。

まとめ(感想文)

プロジェクトをそのまんまクラウドストレージに保存するのは良くないのかもしれない。