プログラミング

【Unity C#】Androidでビルドができない「Error building Player: UnauthorizedAccessException: Access to the path Android SDK is outdated」

投稿日:

Unity である程度ゲームが出来上がってきて、さてそろそろ Android 実機でテストするか!と思った矢先、Android でビルドできないエラーに非常に悩まされました。

具体的には以下のようなエラーが出ました。

Error building Player: UnauthorizedAccessException: Access to the path
Android SDK is outdated
InvalidOperationException: Cannot start process because a file name has not been provided.
AndroidPlayer\SDK\tempToolsDir' is denied.

意味的には Android SDK にアクセスできない、プロセスが開始できないというような意味となります。

SDK のフォルダーを見ると「tempToolsDir」というフォルダーはありませんでした。作ってみればエラーは無くなりますが、動作はしないままです。

Google で色々調べて ChatGPT にも聞いてみましたが、解決策は見つかりませんでした。

原因の仮説

開発初期の頃は正しくビルドできていました。それが後期になってビルドができないという事になります。

思い当たる節は、開発中盤で Unity がクラッシュして Unity を再インストールしたという点です。その点で不整合が発生したのではないか?

ゴミが残らないよう古い Unity はフォルダーから何まで削除して再インストールしましたが、もしやと思い次のような施策を行いました。

別ドライブへのインストール

最初は C ドライブに Unity をインストールしており、同じように C ドライブに再インストールした事でも問題が再発する事から、試しに違うドライブに Unity をインストールしてみました。

するとエラーが発生しなくなり、ビルドが出来たのでした。

古い Unity が消えきってなかったという事でしょうか。綺麗にアンイストールする方法もあると思いますが、とりあえずビルドができたので安心。

-プログラミング

Copyright© ウェブミスト(Webmist) , 2023 AllRights Reserved Powered by STINGER.