AndroidStudioのエミュレーターでストレージ不足のエラーが発生したときの対処法
環境:M1 Mac mini / macOS: Big Sur
エミュレーターでapkインストール時にエラー発生
「INSTALL_FAILED_INSUFFICIENT_STORAGE」
「INSTALL_FAILED_INSUFFICIENT_STORAGE」
Androidアプリ開発において、エミュレーターでのアプリ起動を試そうとしたところ、apkのインストールが失敗しました。
問題
Flutterで作成したAndroidアプリをエミュレーターで起動させようとしたところエラーが発生しました。
そのときにコンソールに出力されたエラーログは以下のとおりです。
例はFlutterアプリ開発によるものですが、ネイティブなAndroid開発でも同様のエラーは発生し得ます。
E/flutter ( 9937): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: Launching lib/main.dart on sdk gphone arm64 in debug mode...
Running Gradle task 'assembleDebug'...
✓ Built build/app/outputs/flutter-apk/app-debug.apk.
Installing build/app/outputs/flutter-apk/app.apk...
Error: ADB exited with exit code 1
Performing Streamed Install
adb: failed to install /Users/~/flutter_app/build/app/outputs/flutter-apk/app.apk: Failure [INSTALL_FAILED_INSUFFICIENT_STORAGE]
Error launching application on sdk gphone arm64.
原因
エミュレーターの設定のストレージを確認してみると、容量がひっ迫しているのが確認できます。
2GB中1.77GB使用しており、残り200MBそこらでは、apkのインストールができなかったということのようです。
Settings>Storage
解決方法
AVDの設定を変える必要があります。
AVDマネージャーを開きます。
AndroidStudioのメニューより、Tools>AVD Managerで、該当のエミュレーターの設定を開きます。
エラー時のエミュレーターの設定値は以下のとおりでした。
これらの値を変更して、ストレージを拡張します。
今回は、Internal StorageとSD cardのStudio-managedの値を増やしました。
Internal Storage:800 → 1200
SD card: Studio-managed:512 → 1024
ここで設定はまだ完了していません。
設定を反映させるには、エミュレーターが開いている状態であれば一度終了させて、データをクリーンにする必要があります。
以下のようにAVDの該当のエミュレーターの下矢印のメニューより「Wipe Data」を選択して、データをクリーンしましょう。
そしてエミュレーターを再度起動します。
これにより、エミュレーターの設定から確認した値も、最大4GBのストレージに増えていることがわかります。
これで先程のエラーが出ることなく、apkをインストールすることができました。
ただし、どのような足し算になっているのかは少し不明です。
ストレージを増やしても、それに伴ってSystemの容量は増えますし、ストレージを3GBにしようと設定値をいじってもうまくいかず、2GBの次はどうしても4GBになります。
うまくいかない場合は、色々調整してみましょう。