デバイスに十分な内部および外部の空き容量があることを確認してください。次のコマンドを使用して、使用可能な空き容量を確認できます。
$ adb shell df
Filesystem Size Used Free Blksize
/dev 192M 32K 192M 4096
/mnt/asec 192M 0K 192M 4096
/mnt/obb 192M 0K 192M 4096
/system 145M 124M 20M 4096
/data 196M 167M 29M 4096
/cache 95M 32M 62M 4096
/mnt/sdcard 3G 177M 3G 32768
上記の出力で/data
は、(デフォルトのインストール場所)には29MBの空き容量があり、/mnt/sdcard
(SDカードと外部インストール場所)には3GBの空き容量があります。
デバッグビルドの場合、最大40MBの空き容量が必要です(ランタイムパッケージ、プラットフォームパッケージ、およびアプリの場合)。リリースビルドはかなり小さいですが、評価バージョンではリリースビルドを作成できません。
エミュレータにSDカードがない場合、AndroidがINSTALL_FAILED_MEDIA_UNAVAILABLE
エラーを生成する可能性があります。(SDカードをエミュレーターに追加するには、android
アプリを起動し、[仮想デバイス]に移動してデバイスを選択し、[編集]をクリックして、[SDカード]セクションを確認します。)
Androidをざっと見てみると、DefaultContainerService.javaが制御要素、具体的にはDefaultContainerService.recommendAppInstallLocation()であり、内部スペースが不足していて、パッケージで指定されている場合auto
(Mono for Androidのように)、SDカードが使用できないことがわかります(status.equals(Environment.MEDIA_MOUNTED)
はfalse
)、次にRECOMMEND_MEDIA_UNAVAILABLE
返され、これはに変換されINSTALL_FAILED_MEDIA_UNAVAILABLE
ます。これは私にはまだ奇妙に思えますが(RECOMMEND_FAILED_INSUFFICIENT_STORAGE
もっと意味がありませんか?)、これが起こっているように見えます。