Androidエミュレーターはメモリ8の割り当てに失敗しました


157

EclipseからWXGA800エミュレーターを実行しようとすると、次のようなエラーが発生します

Failed to allocate memory: 8
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

以下のリンクもチェックしました

メモリの割り当てに失敗しました:8

Android:メモリの割り当てに失敗しました

エミュレータでRAMサイズを減らし、Javaヒープサイズとramsizeを増やしてみましたが、それでも同じエラーが発生します。


代わりに、組み込みのスキンを使用して、解像度を手動で設定してみてください。
SteveR

ここで私の答えをチェックしてください: stackoverflow.com/a/14420779/1993898
Prymaldark 2013年


涼しい。私はこの同じ質問をあまり雄弁に語らず、人々に反対票を投じました。ここのどこかに素晴らしい答えがあるといいのですが。私はS-PenサポートでSamsung Galaxysをエミュレートしようとしていますが、それらもすべてエミュレーターの能力を超えています。
シンシアV 2013

回答:


410

更新:Android SDK Managerバージョン21以降、解決策はC:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.ini値を編集および変更することです

hw.ramSize=1024 

hw.ramSize=1024MB

Android 4.2 API 17

エミュレータは本当に遅いです 彼らがインテルのイメージをすぐにリリースすることを願っています変更したい場合は、新しいAPI17 Intel x86イメージを使用してください..(HAXM構成


以前のAndroid SDK Managerリリース:

組み込みのWXGA800スキンでも同じ問題がありました。仮想デバイスの設定を次のように編集して機能させました。

  • ターゲット4.0.3 API 15 / 4.1.0 API 16
  • SDカード300MiB
  • 解像度1280 x 800(手動で設定-組み込みのものではありません)
  • デバイスRAMサイズ1024MB(数字にMBを追加)
  • 抽象化されたLCD 160

ここに私のタブレット設定4.1.0 API 16 C:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.ini

hw.lcd.density=160
sdcard.size=300M
skin.path=1280x800
skin.name=1280x800
hw.cpu.arch=arm
abi.type=armeabi-v7a
hw.cpu.model=cortex-a8
vm.heapSize=48
hw.ramSize=1024MB
image.sysdir.1=system-images\android-16\armeabi-v7a\

この設定にはソフトウェアキーも表示されます Android 4.1エミュレーター1280x800 @ 160のスクリーンショット


1
私はそれを以前に試していないので少しばかげた気がします:)!
caiocpricci2 2012

2
+1私はこのアドバイスを取り入れて、これを機能させるためにコマンドラインからエミュレータを起動しました。ザビエルがこのフレークネスから私たちをすぐに救ってくれることを願っています...
OceanLife

9
「メモリオプション:RAM」を512に減らし、SDカードサイズを300MiBに設定することで、エラーを解消しました。
誰かどこか

3
真剣に、なんてバカなバグ... / facepalm少なくとも今、私は進歩することができます!ありがとうございました!
mrswadge 2013年

2
ワオ。これは酷い。公式のSDKとテストキットはこれを適切に処理しませんか?手作業で.iniファイルを編集する必要がありますが、それはほぼ1年間当てはまりますか?それは非常識です。
matt lohkamp 2013年

67

次の解決策は私にとってうまくいきました。次の構成ファイルで:

C:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.ini

交換する

hw.ramSize=1024

沿って

hw.ramSize=1024MB

1
理由は不明ですが、これで修正されました。ありがとう
schar

1
良い点です、これはバグに違いありません...私はファイルの慣習に従い、Mを使用しました。
HGPB

17
ほんと、グーグルの側には哀れなところがある。彼らはテストしませんか?
Cory Trese

+1これでうまくいきます。RAMサイズを指定したときに1 GBを選択したためでしょう。
Eng.Fouad

4
他の回答では、「MB」は実際には認識されず、1024から1024MBに変更すると実際にはメモリがデフォルトの256MBに減少するため、動作を開始すると誰かが主張しました。出典:stackoverflow.com/questions/7222906/failed-to-allocate-memory-8
JuhaPalomäki

9

私の場合、解決策は特定の肌だけでconfig.iniなくにも変更することでした。hardware.inihw.ramSize=1024hw.ramSize=1024MB

hardware.iniファイルを見つけるには:

  1. を開き、config.iniを見つけますskin.path
  2. 次に、Android SDKが配置されているフォルダーに移動します。
  3. 次のようにパスを開きますandroid-sdk\platforms\android-15\skins\WXGA720
  4. このフォルダ内でを見つけますhardware.ini
  5. に変更hw.ramSize=1024hw.ramSize=1024MBます。

2
私のために働いた。なぜ人々があなたの答えを嫌うのか、私にはわかりません。ありがとう!
Veaceslav Gaidarji 2013

5

更新:Android SDK Managerバージョン21以降、解決策はC:\ Users \ .android \ avd \ .avd \ config.iniを編集して値を変更することです

hw.ramSize = 1024〜

hw.ramSize = 1024MB

または

hw.ramSize = 512MB


3

このエラーは、AVD RAMを、エミュレータが割り当てることができる連続メモリの単一の最大ブロックよりも大きい値に設定した場合に発生します。RAMが重いものをすべて閉じ、エミュレータを起動し、必要なものをすべて起動します。以前の回答では、これをIntelHAXMを使用したx86イメージに制限しましたが、これは実際にはすべてのタイプのエミュレータインスタンスに当てはまります。


3

AVDセットアップの場合:CPU / ABIオプションをMIPSに変更します。それは私のために働いた


1

私は同じ問題を抱えていて、問題となったのはRAMサイズでした。1024(または任意のサイズ)は1024MBとは明らかに異なります。単位を指定していることを確認してください。


1

config.iniファイルのramSizeを変更してもうまくいきませんでした。

「Android仮想デバイスの編集」ウィンドウでSDカードのサイズを1000 MiBに変更しました...うまくいきました!:)


あなたの答えは問題に関連していますか?問題はRAMに関連しているように見えるため、SDカードのサイズを変更してもRAMは変更されません。
クラススタッカー2013年

0

Android仮想デバイスの編集に移動し、[メモリオプションの1024]を768に変更します。それでも機能しない場合は、次第に低くしていきます。


0

AVD設定でRAMサイズを小さくすることがうまくいきました。AVDが遅いと、RAMを大量に消費する可能性があるため、最小限に抑えることが現実的です。



0

他の回答がうまくいかない場合は、これを試してください。

私にとっては、これはAPI 27エミュレータで起こりました。

API 26エミュレータは問題なく動作しました。そこで、私は最初にAPI 26 Emulatorを起動してから閉じました。

次に、API 27エミュレータを起動しましたが、エラーはまったく発生しませんでした。

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