Nasıl düzeltilir: “HAX çalışmıyor ve emülatör öykünme modunda çalışıyor”


141

Soru şu ki

Ben "HAX çalışmıyor ve emülatör öykünme modunda çalışır", bu Intel x86 Emulator Hızlandırıcı (HAXM) kurulum ve CPU Intel Atom (x86) cpu ayarlanmış avd ile ilgili mi? HAXM'i yükledikten sonra AVD daha hızlı çalışıyor gibi görünse de, bu mesaj AVD performansının engellendiğini gösteriyor mu? Düzeltilmeli ve eğer öyleyse, nasıl?

Mac OS X 10.9.1 üzerinde çalışıyorum.

Android SDK Yöneticisi üzerinden sistemime yüklü olanları listeleme:

  • Araçlar
    • Android SDK Araçları Rev 22.3
    • Android SDK Platformu araçları rev 19.0.1
    • Android SDK Derleme Araçları Rev 19.0.1
    • Android SDK Oluşturma araçları Rev 19

==

  • Android 4.4.2 (API 19)
    • SDK Platformu
    • ARM EABI v7a Sistem Görüntüsü
    • Intel x86 Ato Sistem Görüntüsü
    • Google API'ları
    • Android SDK için kaynaklar

==

  • Ekstralar
    • Intel x86 Emulator Accelerator (HAXM) VE AYRICA ben de öğrendikten sonra dmg yükleyiciyi de çalıştırıyorum ve sıcak düzeltme yükledim.

AVD kurulumu

  • Platform 4.4.2
  • API Seviyesi 19
  • CPU Intel Atom (x86)

Bir kez avd çalıştırın:

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

takip almak ve emülatör sonunda yükler

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

HAX is not working and emulator runs in emulation mode

Bu hatayı aldım, ancak emülatörüm zaten çalışıyordu, bu yüzden asıl sorunum, Visual Studio hedefinin, herhangi bir CPU yerine iPhone olmasıydı, bu da konuşmamı bir simülatöre sabitledi.
Jaider

Yanıtlar:


200

Evet düzeltilmelidir, HAXM çalışmıyor. AVD yapılandırmanızda kullanmak için ne kadar RAM ayarlanmış?

768M bunun için iyi bir sayıdır, ancak en önemlisi bu sayı HAXM kurulumu sırasında ayarladığınız bellek kullanımına eşit veya daha düşük olmalıdır. Kurulumu değiştirmek için tekrar başlatabilirsiniz.


9
@ ph0b teşekkür ederim, bu, HAXM bellek için 1024 ayırma ile kuruldu ve benim avd örneğim 1907 olarak ayarlanmış bellek ayırma vardı. bunu işaret ettiğiniz için teşekkür ederim.
GnrlBzik

44
HAXM yükleyicisi 1 GB varsayılan değer önermiş, ancak Nexus 5 AVD 1536'yı kullanmaya ayarlanmış. 1 GB'a geri ayarlayın ve işte biz!
aalaap

14
Teşekkürler. Merak edenler için, HAXM kurulum dosyasının konumu sdk/extras/intelADT paketinizin klasöründe bulunur. İmlecinizi AVD Manager'ınızdaki HAXM girişine yerleştirdiğinizde tam konum gösterilir.
Koh

2
@zhelon, HAXM'yi yapılandırmanın tek yolu yükleyiciyi yeniden çalıştırmaktır.
ThomasW

23
Windows ve Android Studio kullanıyorsanız aşağıdakileri yapın. Android Studio'da: Araçlar> Android> AVD Yöneticisi> Cihazınız> Gelişmiş Ayarları Göster> RAM'i tercih edilen boyuta ayarlayın. Denetim Masası> Programlar ve Özellikler> Intel Hardware Accelerated Execution Manager> Değiştir> Manuel olarak ayarla> Tercih edilen boyuta ayarla.
Nörotransmitter

66

Mac haxmkullanıyorsanız , açık kaynaklı olmayan ve masaüstü uygulamalarının (yani krom, firefox, eclipse, vb.) Yüklenmesine olanak tanıyan yerleşik bir uzantı olan (2015 itibariyle) fıçı üzerinden homebrew kullanarak yükleyebilirsiniz :

brew cask install intel-haxm 

Android Studio

Android Studio kullanıyorsanız ardından, menüden aynı sonucu elde edebilirsiniz ToolsSDK Managerve ardından SDK Araçları sekmesi için onay kutusunu işaretleyin , Intel x86 Emülatörü Accelerator (HAXM yükleyici) ve tıklayın Ok.


49

Çözdüğüm yol, AVD bellek sınırını ve HAXM belleği 1 GB = 1024 MB boyutunda eşit olacak şekilde ayarlamaktır. AVD'nin HAXM'den daha yüksek bellek limiti olamaz.

1. HAXM belleği 1024 M olarak ayarlama

HAXM belleği değiştirmenin tek yolu tekrar takmaktır. Terminali kullanarak yaptım. Makinenizde Hardware_Accelerated_Execution_Manager öğesini bulun . Ardından, kurulum komut dosyasını çalıştırmak için bu klasörü değiştirin.

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

-OR-

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

İzinleri değiştirmeniz gerekebilir:

sudo chmod 755 "HAXM installation"

Sonra:

./HAXM\ installation -m 1024

-OR-

sudo ./"HAXM installation" -m 1024

2. Sanal cihazı HAXM bellek sınırıyla aynı boyutta ayarlama

resim açıklamasını buraya girin

Bu benim için çalışıyor. İyi şanslar!


2
Bu benim için de işe yaradı. AVD yapılandırma ekranını arıyorsanız, Araçlar> Android> AVD Yöneticisi'nde
stephenspann

2
Aynı anda birden fazla AVD'nin çalışmasını istiyorsanız, HAXM max RAM'in çalışan tüm AVD'lerin toplamı olması gerekir, yani iki AVD @ 1024MB = 2048MB, yani:$ sudo ./HAXM\ installation -m 2048
Jason Hartley


20

Pencereler için.

İçinde Android Studio:

Araçlar > Android > AVD Yöneticisi > Cihazınız > Kurşun Kalem Simgesi > Gelişmiş Ayarları Göster > Bellek ve Depolama > RAM > RAM'i tercih ettiğiniz boyuta ayarlayın.

İçinde Control Panel:

Programlar ve Özellikler > Intel Donanım Hızlandırılmış Yürütme Yöneticisi > Değiştir > Manuel olarak ayarla> RAM'i tercih ettiğiniz boyuta ayarlayın.

Her iki yerde de ayarlanan RAM boyutlarının aynı olması daha iyidir.


2
Bu değerleri ayarlamak için tam yeri açıklayan +1. İnternette çok fazla cevap okuyucunun benim gibi her zaman sahip olmadığı bir bilgi seviyesini varsayar :-)
MikeKulls

4

Intel web sitesinde Has'ın en son sürümünü kontrol edin ve yükleyin. Tavsiye edilen boyutta "önceden ayarlanmış 2048" koç bırakın, sonra uygulamayı çalıştırmayı deneyin. İşler iyi olmalı.


2

Evet düzeltilmelidir, HAXM çalışmıyor.

HAXM bazen işe yarar; HAXM ile ilgili deneyim şu anda platformlar arasında yaygındır.

Örneğin, 2009 yılının sonlarında 10.8.5 ve i7 işlemciyi @ 2.8Ghz, Android SDK 22.6 ile bu sabah güncellenen tüm güzellikler (03/05/14) çalıştırarak aldım. API17, bu iMac makinesinde HAXM hızlandırmalı emülatörler oluşturacak, API19 boşa çıkıyor.

Ayrıca 2013 MBP 15 "Retina 10.8.5 ve i7 işlemci @ 2.7Ghz, Android SDK 22.6 çalıştıran bu sabah güncellenen tüm hediyelerle (03/05/14) var. API17 HAXM hızlandırması ile emülatörler inşa edecek, API19 da harika çalışıyor .

Çift çekirdekli i5 ve Mavericks ile 2013 sonu MBP Retina 13 "için Ditto.

Yeni API19 x86 görüntülerinin HAXM'nin çalışması için ihtiyaç duyduğu eski CPU'lardan (hatta i7'lerden) eksik yonga düzeyinde sanallaştırma için bir şeyler oluyor. API19 çalışmıyorsa, API17 veya 16'yı deneyin.


2

Mac'inizde Bulucuyu açın ve Ctr + Alt + G sonra bunu yazın/Users/${yourMacNameHere}/Library/Android/sdk/extras/intel/Hardware_Accelerated_Execution_Manager

Emülatör hızlandırıcısının yükleyicisini bulacağınız için çalıştırın ve ihtiyacınız olan belleği ayarlayın ve android uygulamanızı çalıştırmayı tekrar deneyin


Yukarıdaki tuş vuruşu dizisi benim için çalışmadı, ancak sadece IntelHAXM_<version name>.dmg'sdk / extras / intel'
dizinindeki dosyayı aradı

2

Intel işlemci kullanıyorsanız, SDK Yöneticisi'nde bu seçeneği işaretleyerek HAXM (Intel® Donanım Hızlandırılmış Yürütme Yöneticisi) yükleyicinin SDK Yöneticisi aracılığıyla yüklendiğinden emin olun. ve ardından HAXM yükleyici uzantısını aşağıdaki yoldan çalıştırın

your_sdk_folder\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm.exe

ayrıca HAX kurulumu sırasında ayrılan ram boyutunu kontrol edin, böylece emülatörünüzün ram boyutuna uyun.

Bu video , sorunu çözmenize yardımcı olabilecek tüm gerekli adımları göstermektedir.

HAXM'i yükledikten sonra sorunla karşılaşırsanız bu video da size yardımcı olacaktır.


1

"Intel x86 Emulator Accelerator (HAXM)" modunda başlatmak istediğiniz emülatörün ram boyutundan tam olarak veya biraz daha fazla alana sığdırmak için HAX yüklemesi sırasında ayrılan ram boyutunu artırın,

Bunu başardığınızda, artık bunu konsolda / günlükte görüntüleyebilirsiniz

resim açıklamasını buraya girin



1

geckob'un çözümü mükemmel çalışıyor. Dikkat: Sağladığınız HAXM, çalışan tüm cihazlarda kullanılır. Yani bir telefonda ve Tablette aynı anda test ediyorsanız ve her birinin 1G gereksinimi vardır. Öyleyse HAXM tahsis ettiğiniz en az 2G olduğundan emin olun.


1

SDK Yöneticisi'nden HAXM'i indirin

SDK Yöneticinizi Android Studio'dan açın, ekran resminde gösterilen simgeyi tıklayın.

resim açıklamasını buraya girin

"Varsayılan Ayarlar" İletişim Kutusunda "Tek Başına SDK Yöneticisini Başlat" ı tıklayın.

resim açıklamasını buraya girin

"Ekstralar> Intel x86 Emulator Accelerator (HAXM yükleyici)" düğümünü kontrol edin ve HAXM indirme işlemine devam edin.

resim açıklamasını buraya girin

HAXM'yi Yükleme veya Değiştirme

Artık indirme konumuna erişerek HAXM kurulumuyla (veya mevcut installtino'yu değiştirerek) erişebilirsiniz. Bu yolu "run" olarak girin

Hardware_Accelerated_Execution_Manager \% localappdata% \ Android \ sdk \ ekstralar \ intel

ve "intelhaxm-android.exe" dosyasına çift tıklayın

Mevcut HAXM kurulumunu değiştirirken HAXM'ye ayrılan bellek boyutunu artırabilirsiniz. 32 GB RAM'e sahip bir makinem var ve aynı anda birden fazla AVD (otomatik test vb. İçin) başlatmak istiyorum, bu yüzden HAXM'e 8 GB ayırdım.

Uyarı

Bir adet 1 GB'lık bir AVD çalıştırıyorsanız ve HAXM'ye 2 GB ayırdıysanız, 1 GB'den fazla RAM ile başka bir AVD çalıştıramazsınız. HAXM'yi değiştirirken veya kurarken lütfen Android Cihaz Monitörünün çalışmadığından emin olun (sadece sürprizlerden kaçınmak için).

resim açıklamasını buraya girin

Bu adımlar Windows platformunda test edilir, ancak genellikle küçük değişikliklerle diğer platformlara da uygulanabilir.


1

Benim sorunum, artık emülatör uygulamasından çıkmıştım, ancak işlem tamamen bitmediği için çalışmış bir emülatör çalıştıramıyordum, bu yüzden bir önceki çalışırken başka bir emülatör başlatmaya çalışıyordum. Bir Mac'te, diğer süreci görmek ve öldürmek için Etkinlik İzleyicisi'ni kullanmak zorunda kaldım. Adımlar:

  1. Etkinlik İzleyicisi'ni açın (Yardımcı Programlar'da veya Command + Space kullanarak)
  2. Benim durumumda qemu-system ismini bul ...
  3. İşlemi seçin.
  4. Sol üstteki 'x' düğmesini kullanarak işlemden çıkmaya zorlayın.
  5. 'Çıkmaya Zorla' kullanmak zorunda kalmadım, sadece 'Çık' şeklinde, ama siz de kullanabilirsiniz.

1

Benim durumumda, HAXM belleği AVD belleğe eşit olarak ayarladığımda bu hata düzeltildi. HAXM bellek 1024 MB = AVD bellek 1024 MB

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

Bu noktaya kadar hata düzeltilmelidir.

Şimdi, OS X kullanan biri için bazı yardımcı olabilecek durumlarda özel ortamımı listeliyorum.

OS X El Capitan 10.11.4

MacBook (13 inç), 2 GHz Intel Core 2 Duo, 4 GB Ram.

Android Studio 2.1

Marshmallow (23) x86 yanıp sönen Android simge ekranını saatlerce bile geçmedi .

Lollipop (22) x86 yanıp sönen android simge ekranından geçti ve sonra gösterdi

  • Android'i Başlatma (x uygulamadan en iyileştirme)
  • Android'i başlatma (Uygulamaları başlatma)
  • Android'i Başlatma (Kişi Veritabanını Güncelleme)
  • Android başlatılıyor (önyükleme bitiyor) ve saatlerce burada kaldı .

KitKat (19) x86 başarıyla çalıştı ve ben de merhaba dünyayı kurabilirim.


bu bir cevap mı? @zeeawan
GnrlBzik

Evet, HAXM bellek 1024 MB = AVD bellek 1024 MB kombinasyonu, hax'ın çalışmaya başlamasını sağlar. Ayrıca, bu cevap emülatörün benim için OS X'te nasıl çalışmaya başladığını ele alıyor.
Zeeawan

Sanırım daha fazla anlatıya ihtiyacım var.
GnrlBzik

Yani hatayı düzelttiğinizi söylüyorsunuz, ancak öykünücünün önyükleme yapmak için yaş almasıyla ilgili sorunlarınız devam ediyor mu?
Sam

KitKat (19) x86 ile iyiydi.
zeeawan

0

AVD cihaz yapılandırmanızı yeniden açın. AVD yöneticisinde cihazı düzenleyerek. AVD Android sürümünü seçmeye devam edin. Sağ bölmede , bu öneriyi izleyen bir öneri görüntülenir ve hepsi düzeltilecektir.


0

HAX'a atanan varsayılan bellek 1024 MB'dir. Ve emülatör Nexus 5x api 25 için 1536MB'a sahip.

Android Studio kullanıyorsanız,

  • sadece araçlara gidin -> AVD yöneticisi.
  • Ardından emülatörü seçin ve düzenleme için sağdaki kurşun kalem düğmesine tıklayın.
  • Yeni pencerede gelişmiş ayarlara gidin ve RAM değerini 1024 olarak değiştirin

Tıkır tıkır çalışıyor. :)

android studio ekran görüntüsü

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.