修正方法:「HAXが機能せず、エミュレータはエミュレーションモードで実行されます」


141

質問は

「HAXが機能せず、エミュレータがエミュレーションモードで実行されます」というメッセージが表示されますが、これはIntel x86エミュレータアクセラレータ(HAXM)のインストールと、CPUがIntel Atom(x86)に設定されたCPUでのAVDの実行に関連していますか?また、HAXM​​をインストールした後はAVDがより高速に動作するように見えますが、このメッセージはAVDのパフォーマンスが低下していることを示していますか?修正する必要がありますか?

Mac OS X 10.9.1で実行しています。

Android SDKマネージャーを介してシステムにインストールされているものを一覧表示します。

  • ツール
    • Android SDKツールRev 22.3
    • Android SDK Platform-Tools rev 19.0.1
    • Android SDK Build-tools Rev 19.0.1
    • Android SDKビルドツールRev 19

==

  • Android 4.4.2(API 19)
    • SDKプラットフォーム
    • ARM EABI v7aシステムイメージ
    • Intel x86 Atoシステムイメージ
    • Google API
    • Android SDKのソース

==

  • エクストラ
    • Intel x86 Emulator Accelerator(HAXM)と私はdmgインストーラーも実行し、ホットフィックスをインストールしました。

AVDセットアップ

  • プラットフォーム4.4.2
  • APIレベル19
  • CPU Intel Atom(x86)

avdを実行したら:

(ruby-2.0.0-p353) .android   $ tools/emulator -avd 1AVD -wipe-data -no-boot-anim -cpu-delay 0

私はフォローし、エミュレーターは最終的にロードされます

emulator: The memory needed by this VM exceeds the driver limit.

HAX is not working and emulator runs in emulation mode

このエラーが発生しましたが、エミュレーターは既に実行されていたため、実際の問題は、Visual StudioターゲットがAny CPUではなくiPhoneであり、デプロイがシミュレーターに修正されたことでした。
Jaider 2017

回答:


200

はい、修正する必要があります。HAXMは機能していません。AVD構成内で使用するために設定されているRAMの量は?

768Mが適切な数値ですが、最も重要なこととして、この数値はHAXMのインストール中に設定したメモリ使用量以下でなければなりません。インストールを再度起動して変更できます。


9
@ ph0b、ありがとうございます。HAXMはメモリ用に1024割り当てでインストールされ、私のavdインスタンスはメモリ割り当てが1907に設定されていました。指摘していただきありがとうございます。
GnrlBzik 2014年

44
HAXMインストーラーは1GBのデフォルトを提案しましたが、Nexus 5 AVDは1536を使用するように設定されています。それを1GBに設定し直してください!
aalaap 2014年

14
ありがとう。HAXMのインストーラーファイルの場所は、sdk/extras/intelADTバンドルのフォルダーにあります。AVD ManagerのHAXMエントリにカーソルを置くと、正確な場所が表示されます。
2014

2
@zhelonはどうやらHAXMを設定する唯一の方法はインストーラーを再度実行することです。
ThomasW

23
WindowsおよびAndroid Studioを使用している場合は、次の手順を実行します。Android Studioの場合:[ツール]> [Android]> [AVDマネージャー]> [デバイス]> [詳細設定を表示]> [RAMを適切なサイズに設定] [コントロールパネル]> [プログラムと機能]> [Intel Hardware Accelerated Execution Manager]> [変更]> [手動で設定]> [優先サイズに設定]で。
神経伝達物質2015

66

Macをhaxm使用している場合は、組み込みの拡張機能であるcaskを介してhomebrewを使用してインストールできます(2015年現在)。これにより、非オープンソースおよびデスクトップアプリ(つまり、chrome、firefox、eclipseなど)をインストールできます。

brew cask install intel-haxm 

Android Studio

あなたは、Android Studioを使用しているなら、あなたはメニューから同じ結果を得ることができToolsSDK Manager、その後にSDKツール ]タブ、チェックボックスを選択インテルのx86エミュレータアクセラレータ(HAXMインストーラ)を、クリックOk


49

私がそれを解決した方法は、AVDメモリ制限とHAXMメモリのサイズを1 GB = 1024 MBに等しくなるように設定することです。AVDは、HAXM​​よりも高いメモリ制限を持つことはできません。

1. HAXMメモリを1024 Mに設定する

HAXMメモリを変更する唯一の方法は、再度インストールすることです。端末を使ってやった。マシンでHardware_Accelerated_Execution_Managerを見つけます。次に、そのフォルダのディレクトリを変更して、インストールスクリプトを実行します。

cd ~/Library/Android/sdk/extras/intel/Hardware_Accelerated_Execution_Manager

-OR-

cd ~/Library/Developer/Xamarin/android-sdk-macosx/extras/intel/Hardware_Accelerated_Execution_Manager

権限を変更する必要があるかもしれません:

sudo chmod 755 "HAXM installation"

次に:

./HAXM\ installation -m 1024

-OR-

sudo ./"HAXM installation" -m 1024

2.仮想デバイスをHAXMメモリ制限と同じサイズに設定する

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

これは私にとってはうまくいきます。幸運を!


2
これも私にとってはうまくいきました。AVD構成画面を探している場合は、[ツール]> [Android]> [AVDマネージャー]にあります
stephenspann

2
:あなたが同時に実行されている複数のAVDを持つようにしたい場合は、HAXM最大RAMは、実行中のすべてのAVD、すなわち2のAVD @ 1024メガバイト= 2048メガバイト、それほどの合計である必要があります$ sudo ./HAXM\ installation -m 2048
ジェイソン・ハートレイ


20

Windowsの場合。

Android Studio

ツール > Android > AVD Manager > デバイス > 鉛筆アイコン > 詳細設定を表示 > メモリとストレージ > RAM > RAMを適切なサイズに設定します。

Control Panel

プログラムと機能 > Intel Hardware Accelerated Execution Manager > 変更 > 手動で設定> RAMを適切なサイズに設定

両方の場所で設定されたRAMサイズは同じである方が良いです。


2
これらの値を設定する正確な場所を説明するための+1。インターネット上での回答が多すぎる場合、読者のように、私のように読者が常に持っているとは限らない知識のレベルを前提としています:-)
MikeKulls

4

Hasの最新バージョンをIntelのWebサイトで確認してインストールします。RAMを推奨サイズの「プリセット2048」にしてから、アプリを実行してみてください。物事はうまくいくはずです。


2

はい、修正する必要があります。HAXMは機能していません。

HAXMは時々機能します。HAXMの経験は現在、プラットフォーム間で散発的です。

たとえば、2009年後半に10.8.5およびi7プロセッサー@ 2.8Ghzを実行しているiMac、Android SDK 22.6を今朝(03/05/14)更新しました。API17は、このiMacマシン上でHAXMアクセラレーションを備えたエミュレータを構築します。API19は廃止されます。

また、2013 MBB 15インチRetinaで10.8.5およびi7プロセッサ@ 2.7Ghz、Android SDK 22.6を実行しており、今朝(03/05/14)にすべての機能が更新されています。API17はHAXMアクセラレーションを備えたエミュレータを構築し、API19も非常に機能します。

私の(個人用)2013年後半のMBP Retina 13インチ(デュアルコアi5とMavericksを搭載)。

新しいAPI19 x86イメージがHAXMを機能させるために必要とする、古いCPU(i7も含む)には欠けているチップレベルでの仮想化が進んでいます。API19が機能しない場合は、API17または16を試してください。


2

Macの場合ファインダーを開き、次のようCtr + Alt + G に入力します/Users/${yourMacNameHere}/Library/Android/sdk/extras/intel/Hardware_Accelerated_Execution_Manager

エミュレータアクセラレータのインストーラを見つけるつもりなので、実行して修正する必要があるメモリをセットアップし、Androidアプリケーションの実行を再試行します


上記のキーストロークシーケンスは機能しませんでしたがIntelHAXM_<version name>.dmg、 'sdk / extras / intel'ディレクトリでファイルを探し、そこからインストーラーを実行しました(Mac OSX)
kip2

2

Intelプロセッサーを実行している場合は、SDK Managerでこのオプションをオンにして、HAXM​​(Intel®Hardware Accelerated Execution Manager)インストーラーがSDK Manager経由でインストールされていることを確認してください。次に、以下のパスを介してHAXMインストーラextを実行します

your_sdk_folder\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm.exe

HAXのインストール中に割り当てられたRAMサイズを確認して、エミュレータのRAMサイズに合うようにします。

このビデオ は、問題の解決に役立つ可能性があるすべての必要な手順を示しています。

このビデオは、HAXM​​のインストール後に問題が発生した場合にも役立ちます。


1

「Intel x86 Emulator Accelerator(HAXM)」モードで起動するエミュレータのRAMサイズよりも正確に、または少し大きいスペースに収まるように、HAXインストールの実行中に割り当てられたRAMサイズを増やします。

これで成功すると、コンソール/ logでこれを表示できるようになります。

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



1

geckobのソリューションは完全に機能します。注意:指定したHAXMは、実行中のすべてのデバイスで使用されます。したがって、携帯電話とタブレットで同時にテストしていて、それぞれに1Gの要件がある場合。次に、割り当てられたHAXMが少なくとも2Gであることを確認します。


1

SDK ManagerからHAXMをダウンロード

Android StudioからSDK Managerを開き、スクリーンショットに示されているアイコンをクリックします。

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

「デフォルト設定」ダイアログの「スタンドアロンSDKマネージャーを起動」をクリックします。

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

ノード「Extras> Intel x86 Emulator Accelerator(HAXM installer)」を確認し、HAXM​​ダウンロードを続行します。

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

HAXMのインストールまたは変更

ダウンロード場所にアクセスすることで、HAXM​​のインストール(または既存のinstalltinoの変更)でアクセスできるようになりました。このパスを「実行」に入力します

%localappdata%\ Android \ sdk \ extras \ intel \ Hardware_Accelerated_Execution_Manager

「intelhaxm-android.exe」ファイルをダブルクリックします

既存のHAXMインストールを変更しながら、HAXM​​に割り当てられたメモリのサイズを増やすことができます。32 GBのRAMを搭載したマシンがあり、複数のAVDを同時に起動したい(自動テストなど)ため、8 GBをHAXMに割り当てました。

警告

1 GBのAVDを1つ実行し、2 GBをHAXMに割り当てた場合、RAMが1 GBを超える別のAVDを実行することはできません。HAXMを変更またはインストールするときは、Androidデバイスモニターが実行されていないことを確認してください(驚きを避けるためだけです)。

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

これらの手順はWindowsプラットフォームでテストされていますが、通常、わずかな変更を加えるだけで他のプラットフォームにも適用できます。


1

問題は、エミュレーターアプリケーションを終了したために機能していたエミュレーターを実行できなくなったが、プロセスが完全に終了していないため、前のエミュレーターがまだ実行されている間に別のエミュレーターを起動しようとしたことです。Macでは、アクティビティモニターを使用して他のプロセスを確認して強制終了する必要がありました。手順:

  1. アクティビティモニターを開く(ユーティリティ内またはCommand + Spaceを使用)
  2. プロセス名(私の場合はqemu-system)を見つけます...
  3. プロセスを選択します。
  4. 左上の「x」ボタンを使用して、プロセスを強制終了します。
  5. 「強制終了」を使用する必要はなく、単純な「終了」を使用しましたが、どちらでも使用できます。

1

私の場合、HAXM​​メモリをAVDメモリと同じに設定すると、このエラーが修正されました。HAXMメモリ1024 MB = AVDメモリ1024 MB

Hax is enabled
Hax ram_size 0x40000000
HAX is working and emulator runs in fast virt mode.

この時点までに、エラーを修正する必要があります。

OS Xを使用している人に役立つかもしれない場合に備えて、私の特定の環境をリストします。

OS X El Capitan 10.11.4

MacBook(13インチ)、2 GHz Intel Core 2 Duo、4 GB Ram。

Android Studio 2.1

Marshmallow(23)x86 は、点滅するAndroidアイコン画面を数時間も通過しませんでした

Lollipop(22)x86が点滅するAndroidアイコン画面を通過して表示された

  • Androidの起動(yアプリ中xの最適化)
  • Androidの起動(アプリの起動)
  • Androidの起動(連絡先データベースの更新)
  • Androidを起動し(ブートを終了)、何時間もここにとどまりました

KitKat(19)x86は正常に動作し、hello worldをそこにインストールできました。


これは答えですか?@zeeawan
GnrlBzik

はい、HAXM​​メモリ1024 MB = AVDメモリ1024 MBの組み合わせにより、haxが機能し始めます。プラス、エミュレータがOS X上で私のために仕事を始めたか、この答えアドレスが
zeeawan

もっとナラティブが必要だと思います。
GnrlBzik

あなたはエラーを修正したと言っていますが、まだ起動に時間がかかるエミュレータに問題がありますか?
サム

KitKat(19)x86では問題ありませんでした。
zeeawan 2016年

0

AVDデバイス構成を再度開きます。AVDマネージャーでデバイスを編集する。AVD Androidバージョンの選択に進みます。右側のペインで、推奨事項がその推奨事項に従って表示され、すべて修正されます。


0

HAXに割り当てられているデフォルトのメモリは1024MBです。また、エミュレーターには明らかにNexus 5x API 25用に1536MBがあります。

Android Studioを使用している場合

  • ツール-> AVDマネージャーに移動します。
  • 次に、エミュレータを選択し、右側の鉛筆ボタンをクリックして編集します。
  • 新しいウィンドウで詳細設定に移動し、RAM値を1024に変更します

魅力のように機能します。:)

Android Studioのスクリーンショット

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