Android Emulatorのストレージを増やす方法は?(INSTALL_FAILED_INSUFFICIENT_STORAGE)


152

私のプロジェクトの1つ、いくつかのクラスのみで時々(頻繁ではなく)これを取得します
Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE

エミュレータのストレージを増やすにはどうすればよいですか?


2
インストール先のデバイスに十分なストレージがある場合でも、このエラーが頻繁に表示されます。エラーが表示されたときに、エラーメッセージの内容が実際には当てはまらない場合があることに注意してください。
Lance Nanek

1
:Pentinum10 @私はあなたの助けが必要なこの質問チェックアウト、1.5と2.2の両方で同じエラーを取得していますstackoverflow.com/questions/3584297/...を、私を助け、私をキャッチしてください
Paresh Mayani

回答:


127

更新

この回答は、私がこれを書いている時点で、ほぼ8歳で、約5歳は古くなっています。しかし、それは(私がこれを書いている時点では)「受け入れられた」回答です。なぜなら、質問されたときに質問回答したからです。

新しいAndroid Studioツールに適用される新しい答えは、https//stackoverflow.com/a/35828035/62で見つけることができます -これはスクリーンショットでの素晴らしい答えです。Android Studioを使用している場合は、以下のEclipseの回答を無視してください。

オリジナルのEclipseベースの回答

私はこの質問に対する答えを探していましたが、上記の答えには満足できませんでした。しかし、私は答えを見つけたので、これは将来の参考のためです:

要約(および明確化)するには、Eclipseで「デバッグ構成」に移動します。「デバッグ」アイコンの下のドロップダウンでそれを見つけることができます。「ターゲット」を選択し、起動するエミュレータのターゲットを選択します。次に、「追加のエミュレータコマンドラインオプション」の下に、次のように追加します。

-パーティションサイズ1024

次に、エミュレータを閉じ(デバイスを削除し)、デバッグアイコンをクリックします。これにより、選択した優先エミュレータが起動します。これは重要です。EclipseはAVDではなくデバッガーを起動する必要があります。

これで問題が解決しました。


8
「パーティションサイズ」はメガバイト単位であり、APKをインストールするには、APKのサイズの少なくとも2倍のディスク容量が必要です。
Christopher Orr

5
もう1つの注意事項:Eclipseで実行するプロジェクトを右クリックする必要があります->実行->構成の実行->プロジェクトの選択->ターゲット->下にスクロール->追加-Emオプションにパーティションサイズ1024を追加->その後、日食からプロジェクトを実行します
SpoiledTechie.com '27 / 04/27

4
GoogleはこれをAndroid 3.2または4.0の明示的なプロパティパラメータに追加する必要があります。いまいましいEclipse AVDプラグインを修正
peter_pilgrim

nice find ...確かにADTツールを通じて公開されるべきです。ICSエミュレータのデフォルトは60MBのみです。そのままではAPKをインストールできません。
ddewaele 2012年

1
私がしたように、この受け入れられた回答を数年後に見ている人は、おそらく代わりにstackoverflow.com/a/35828035/62を見たいと思うでしょう。
Liron Yahdav、2018年

90

Android Studioの場合

AVD Managerを開きます。

ここに画像の説明を入力してください

[編集]アイコンをクリックしてAVDを編集します。

ここに画像の説明を入力してください

[詳細設定を表示]をクリックします。

ここに画像の説明を入力してください

必要に応じて、内部ストレージ、RAM、SDカードのサイズを変更します。完了をクリックします。

ここに画像の説明を入力してください

[はい]をクリックしてポップアップを確認します。

ここに画像の説明を入力してください

AVDでデータをワイプし、[はい]をクリックしてポップアップを確認します。

ここに画像の説明を入力してください

重要:サイズを増やした後、データを自動的に消去するように求められない場合は、AVDのプルダウンメニューを開いて[データを消去]を選択し、手動で消去する必要があります。

ここに画像の説明を入力してください

ストレージを増やしてエミュレータを起動して使用します。


7
「内部ストレージ」を変更しても、AVDの作成前または作成後には何も起こりません。常に300MBと容量不足の警告が表示されます。
Travis Christian

3
サイズを変更したら、AVDマネージャのドロップダウンメニューからデータをワイプしましたか。
Cijo 2016年

1
AVDはすでに削除しましたが、新しく構成された未起動の画像でも発生していました。別の質問で、それが23未満の特定のAPIの問題であることがわかりました。
Travis Christian

OMG-ありがとうございます!それが私が見つけた唯一の解決策です!
SammyK 2017

2
これは受け入れられた答えであり、最初に現れるはずです(従来のEclipse関連の答えではありません)。サイズを変更してエミュレータを起動するだけでは十分ではありません(今すぐコールドブートを使用している場合でも)。キーはデータ消去コマンドのようです。ありがとう!
Alex Vang 2018年

42

以下をavd config.iniに追加します

disk.dataPartition.size=1024MB

これで問題が解決するかどうかお知らせください。

私は行に追加しました データパーティションサイズ構成の追加
AVDストレージスペースのスクリーンショットの増加


2.3の画像では機能しませんでした。アプリで使用できる内部ストレージはまだ128MBしかありません。
Matthias

1
AVD Managerの「編集」UIで、この値を手動で設定しようとすると、常に0にリセットされることに気づきました。おそらく関連する問題ですか?Androidの一部のバージョンでは設定されていない可能性がありますか?
Matthias

2
1024MBAVD Managerを使用する場合、次のような値を入力する必要があります。あなたはそれ1024を理解するために少しだけTookに入ることができません、そして私はこの作品を確認しました
ロニー

19

AVD Managerを実行する

AVDを選択し、[詳細...]ボタンをクリックします。

私の場合、AVD Managerはディスクサイズを次のように設定します。

disk.dataPartition.size=4000M

この無効な値、ディスクは指定された数にもかかわらず約500MBです。

「AVD詳細」のパスでAVRのフォルダーに移動します。

config.iniで編集して

disk.dataPartition.size=4000MB

すべての.imgファイルを削除します。


2
これが選択された答えです。現在のバージョンのAndroid Studio(3.0.1)では、Google Play対応のAVDを実行している場合、編集設定のプロパティはグレー表示されます。これはうまくいきました。テストデバイスを400Mから2000MBに変更し、すべての* .imgおよび* .qcow2ファイルを削除しました。AVDのデータを消去しました。次に、それを起動し、2000 MBのストレージがありました。
MLindsay

@MLindsay同意する
mwa91

参考までに、*。imgやその他のファイルを削除する必要はありませんでした。config.iniの値を変更するだけで十分です。
Mohib Sheth

ありがとう!私のケースのために働いた。
android_dev

10

私はAPKのインストールをしていた:

adb install /home/me/jones_android-arm.apk

そして、私はそれを伝えるエラーメッセージを受け取りました

/data/local/tmp/jones_android-arm.apk

大きすぎました。r15のsdkツール、およびADT 15を使用して、AVDマネージャーを使用して、既存のエミュレーターの設定の一部を操作することができました。

Window-> AVD Manager -> (select you virtual machine) -> Edit

次に、「スキン」のすぐ下にあるハードウェアプロパティウィンドウに移動します。ハードウェア:新しいボタン「パーティションの理想的なサイズ」で選択できました。しかし、「0」以外の値を設定することはできませんでした。惜しまず、$ {HOME} /。android / avdディレクトリに行きました 'MyVm.avd'ディレクトリがありました。そのディレクトリに移動すると、「config.ini」ファイルが見つかりました。エントリがありました:

disk.dataPartition.size=0

私はこれを次のように設定しました:

disk.dataPartition.size=1024

..次にAVD Managerに戻り、MyVmを選択し、「開始」を選択し、次のダイアログでユーザーデータを消去することを選択し、実行およびインストールすることができました。


前回は問題なく動作しましたが、今日disk.dataPartition.size=1024MBから、1024そして1024m動作していなかったために、を書かなければなりませんでした。
Sufian 2013年

6

avdマネージャーには「システムパーティションの理想的なサイズ」というオプションがあります。1024MBに設定するか、同じことを行うコマンドライン起動オプションを使用してください。

fyi、私は4.0エミュレーターイメージでのみこの問題に遭遇しました。


こっちも一緒。その際、スナップショットからではなく、クリーンな状態からエミュレータを再起動してください。
Manfred Moser

6

次のようにコマンドラインでエミュレータを起動するだけです:

emulator -avd <your avd name> -partition-size 1024 -wipe-data


3
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.junkfoodian"
android:installLocation="preferExternal"   // this line can work for  Installation error:            //                                             // INSTALL_FAILED_INSUFFICIENT_STORAGE

なぜこれが反対票を投じられたのかわからない-私のために働いたので、賛成票を持っている。:)
ロバート

3

LinuxでAndroidエミュレータのストレージのサイズを変更するには:

1)qemuをインストールする

2)仮想マシンのimgファイルを含むディレクトリを見つけます。〜/ .android / avd / .avdのようなものとそれにcdします。

3)ext4イメージのサイズを変更します。つまり、500Mbから4Gbに拡張する場合は、実行します

qemu-img resize userdata.img +3.5GB
qemu-img resize userdata-qemu.img +3.5GB

4)ファイルシステムを拡張します。

e2fsck -f userdata.img
resize2fs userdata.img
e2fsck -f userdata-qemu.img
resize2fs userdata-qemu.img

5)sdカードイメージの場合、オプション:データをレスキューします。

mkdir 1
mount -o loop sdcard.img 1
cp -a 1 2
umount 1

6)画像のサイズを100MbからGbに変更します。

qemu-img resize sdcard.img +3.9GB

7)ファイルシステムを再生成します:

mkfs.vfat sdcard.img

8)オプション:古いデータを復元します。

mount -o loop sdcard.img 1
cp -a 2/* 1
mount -o loop sdcard.img 1 

2

私は初心者ですが、「Hello Grid View」で遊んでいるときに問題が発生しました。ファイルサイズが非常に大きい自分の写真を使用しようとしました。

迅速な修正は、写真の数を減らすことでしたので、APKファイルのサイズを小さくしました。

しかし、このスレッドにヒットした他の人に対する私のフォローアップの質問は次のとおりです:JPGやMP3などの大きなファイルをアプリに添付し、SDカードに保存して、APKが小さいままであることを確認するにはどうすればよいですか?


2
私はここで答えを見つけたと思います: developer.android.com/guide/topics/resources/index.html 大きな要素には「リソース」の代わりに「アセット」を使用してみてください。ページから:リソースはAndroidアプリケーションの不可欠な部分です。一般に、これらは、画像、オーディオ、ビデオ、テキスト文字列、レイアウト、テーマなど、アプリケーション内に含めて参照したい外部要素です。すべてのAndroidアプリケーションには、リソース(res /)のディレクトリとアセット(アセット/)。

2

エミュレータの仮想メモリを増やす必要があります

エミュレータの仮想メモリを増やす方法

emulator -avd "Emulator Name" -partition-size 2024

その後、あなたのAPKをインストールしてみてください


2

AVD Managerの設定を更新し、「ユーザーデータのワイプ」を有効にしてデバイスを起動します。これでうまくいきました。


1
新しいAVDインターフェイスで、エミュレーターラインを右クリックし、内部ストレージを変更した後、ユーザーデータのワイプを選択します。
TiagoZortéaDe Conto

1

「emulator -wipe-data -avd YourAvdName」でエミュレータを再起動するか、Eclipseを使用している場合は実行構成で「Wipe User Data」を確認する必要があると思います。

私は今、同じ問題に直面しています。


0

これが発生したのは、ホストファイルシステムのスペースが基本的になくなったときだけです。VMのファイルシステムが格納されているファイルシステムに十分な空き容量がありますか?


ハードディスクに13GBの空き容量が十分あります。
Pentium10、2010

0

これは間違いなく適切な答えではありませんが、小さなヒントです。

アプリで静的ファイルを使用する場合。それらをリソースまたはアセットとして配置する必要があります。しかし、UにAPKを小さくしたいなどのメモリの懸念がある場合は、アプリのデザインを次のように変更する必要があります。

リソースとして配置するのではなく、アプリの実行中に(インストール後に)SDカードからファイル(ユーザーが必要なファイルを保持していない可能性があるため、完全に異なるファイル)を取得できます。このため、UはContentResolverを使用して、ユーザーが選択したオーディオ、画像ファイルを取得できます。

これにより、ユーザーはオーディオ/画像ファイルを自分で選択してアプリにロードできるなど、別の機能をユーザーに提供できます。


0

EclipseのプラットフォームのAVDマネージャーダイアログで左側のツリー「仮想デバイス」から1つの項目を選択すると、1つを開始できます。開始UIには[ユーザーデータをワイプ]オプションがあります。


0

次のアプローチは私のために働きました

  1. ターミナルウィンドウのAndroid SDK / toolsフォルダーに移動します(パスを追加しなかった場合)

  2. クリーンアップする予定の仮想デバイスの電源がオフになっていることを確認してください。

  3. コマンド「./emulator -wipe-data -avd YourAvdName」を実行します。YourAvdNameは仮想Androidデバイスの名前です


-2

プロジェクトを選択してみてください->クリーン。単純なクリーンアップで修正できる場合があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.