Jak mogę uruchomić emulator Androida dla Intel x86 Atom bez akceleracji sprzętowej w systemie Windows 8 dla API 21 i 19?

81

Nie włączyłem Hyper V ani akceleracji sprzętowej i też nie chcę.

Czy jest jakiś sposób, żebym mógł uruchomić emulator Androida dla Intel x86 Atom bez akceleracji sprzętowej w systemie Windows 8

Utworzyłem AVD z każdą możliwą kombinacją i żadnemu z nich nie udało się uruchomić instancji emulatora AVD, generując ten sam błąd podczas uruchamiania

emulator: ERROR: emulacja x86 obecnie wymaga akceleracji sprzętowej! Upewnij się, że Intel HAXM jest prawidłowo zainstalowany i nadaje się do użytku. Stan przyspieszenia procesora: moduł jądra HAX nie jest zainstalowany!

Czy też jest tak, że obrazy podane dla Intel Atom 86 i 64 nie mogą działać bez HARDWARE ACCELERATION I Hyper V dla API 21 i 19

Znalazłem wiele podobnych pytań i przeczytałem prawie całą dokumentację, ale nie jest jasne, czy mogą, czy nie mogą działać bez Hyper V i akceleracji sprzętowej, stąd to bezpośrednie pytanie

Jak w takich przypadkach testujesz na Androidzie?

dcoder
źródło
3
„Nie włączyłem funkcji Hyper V ani akceleracji sprzętowej i nie chcę tego robić”. Dlaczego nie? (Szczególnie w odniesieniu do „… i nie chcę”) Jeśli to sprawi, że coś zadziała, co wyraźnie potrzebujesz? W 2014 r., Kiedy prawie wszystkie procesory zapaliły się w wirtualizacji?
TJ Crowder
7
Dzięki Tj Doceniam twoją odpowiedź i czas, ponieważ jestem równorzędnym zwolennikiem zwiększenia wydajności i zaangażowania. To może dostać, ale oryginalne pytanie wciąż jest
aktualne
Przypuszczalnie istnieją metody, które mogą to zrobić w sposób czysto programowy, jednak komunikat o błędzie sugerowałby, że obecnie używany silnik emulacji nie może tego zrobić bez pomocy sprzętowej.
Chris Stratton,
7
Pamiętaj, wielu z nas nie może działać z HAXM. Szczególnie użytkownicy AMD.
A.Grandt,
1
W przypadku użytkowników AMD jest to omówione w pytaniu Odpowiednik HAXM firmy Intel dla AMD w systemie operacyjnym Windows i ogólny konsensus jest taki, aby zamiast tego użyć emulatora Genymotion.
Simon East

Odpowiedzi:

140

W obecnym menedżerze AVD nie możesz. Masz tylko możliwość korzystania z obrazów ARM, które nie będą wymagały wirtualizacji sprzętowej.

Aby uruchomić obrazy ARM:

  1. Otwórz menedżera AVD.
  2. Utwórz nowe „urządzenie wirtualne” LUB kliknij prawym przyciskiem myszy istniejący obraz i wybierz „Duplikuj”
  3. Wybierz arm * zamiast x86 / x64.
  4. Kontynuuj pracę kreatora.
  5. Biegać!

Chociaż jest to dostępne rozwiązanie, ale nadal powolne !!

Eslam Sameh Ahmed
źródło
16
To powinna być wybrana odpowiedź.
user3041539
1
bardzo powolny, ale sposób pozwala na uruchomienie emulatora Androida bez akceleracji sprzętowej.
konstruktor
1
Zaraz po wybraniu rozmiaru urządzenia pojawi się opcja wyboru obrazu systemu, w którym niektóre z nich są oznaczone jako armeabi-v7a w kolumnie ABI
Eslam Sameh Ahmed
3
To nie jest opcja tutaj.
Eslam Sameh Ahmed
3
@HappyCoder "3. Wybierz ramię * .. oznacza, że ​​wybrałeś to, które zaczyna się od„ ramienia "
tormuto
32

Nadal możesz wymusić użycie miękkiego emulatora x86, uruchamiając go z linii poleceń i używając opcji -no-accel, czyli z katalogu SDK / tools:

emulator -avd AVD_NAME -memory 768 -no-accel -gpu on

ALE to nadal nie będzie działać z obecnym (V24) SDK, ponieważ obecne obrazy systemu x86 powodują awarię miękkiego emulatora x86 :-(

Jedynym sposobem, w jaki udało mi się to ponownie uruchomić, było obniżenie wersji narzędzi SDK do wersji 22.3 stąd: http://dl-ssl.google.com/android/repository/tools_r22.3-windows.zip i zbudowanie AVD przy użyciu zdegradowany obraz systemu, na przykład https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-17_r02.zip . (Więc to nie jest pomocne, jeśli chcesz przetestować na nowszych wersjach Androida).

Google przeszedł do zaktualizowanej wersji swojego emulatora opartego na nowszej wersji qemu i dostarcza pliki binarne dla emulatorów arm i mips, ale pominęło dostarczenie odpowiednika x86 (nie ma emulatora-ranchu-x86.exe i emulatora64 -ranchu-x86.exe). Gdyby tak zrobili lub gdyby ktoś inny zadał sobie trud skonfigurowania i skompilowania ich źródła emulatora z włączoną flagą „x86”, można by przypuszczać, że emulacja programowa _x86 znów zadziała.

Graeme Gill
źródło
3
TO powinna być akceptowana odpowiedź. Wszystkie inne odpowiedzi wyjaśniają, jak biegać z przyspieszeniem, a nie bez
Jamby
To sprawiło, że mój emulator działał na wirtualnym pudełku. Powoli, ale biegnie, tak!
Jankapunkt
@Graeme Po pobraniu narzędzi SDK V22.3 do osobnego folderu do testowania i uruchomieniu emulatora z -no-accelopcją, wiersz poleceń mówi unknown option: -no-accel. Czy ta opcja naprawdę działała w przeszłości? Czy wskazana wersja narzędzia SDK jest poprawna? A może Google „zaktualizował” pakiet V22.3, aby już nie działał?
MrCC,
To faktycznie działa. Jest powolny (zgodnie z oczekiwaniami), ale działa.
Egor Pavlikhin
8

Krótka odpowiedź: Nie. Do niedawna (około 1 miesiąc temu) można było to zrobić, ale przy najnowszych aktualizacjach nie jest to możliwe. (zobacz Aktualizacja do Android SDK Tools 23.0.5 i avd nie uruchamia się ).

Robiłem coś podobnego: robiłem programowanie na maszynie wirtualnej i dlatego nie mogłem używać funkcji przyspieszania sprzętowego, ponieważ są one dostępne tylko na maszynie hosta. Używałem obrazów Intel x86 z opcją Użyj GPU hosta ; ponieważ były znacznie szybsze niż wersja ARM, nawet bez akceleracji sprzętowej. Ale po tej aktualizacji moje emulatory AVD, które działały wcześniej, nie są już uruchamiane z tym samym dokładnym komunikatem o błędzie. Ponadto nie można używać zarówno emulatorów genymotion, jak i Xamarin Android, ponieważ wymagają one również akceleracji sprzętowej (w rzeczywistości są to maszyny wirtualne, które używają przyspieszenia sprzętowego w celu zwiększenia szybkości i dlatego nie można ich uruchomić na innej maszynie wirtualnej).

Znalazłem to rozwiązanie, ale jeszcze go nie wypróbowałem. Podstawową ideą jest to, aby nadal rozwijać się wewnątrz maszyny wirtualnej; ale do testowania połącz się z emulatorem działającym na maszynie hosta (a ta maszyna wirtualna emulatora może teraz korzystać z funkcji przyspieszania sprzętowego).

Ankur
źródło
Dzięki, pomyślałem, że to samo, teraz prowadzę avds z HA
dcoder
8

Ten sam problem, co w przypadku błędu podczas uruchamiania AVD :

1) Zainstaluj akcelerator emulatora Intel x86 (instalator HAXM) z Android SDK Manager;

wprowadź opis obrazu tutaj

2) Uruchom (dla Windows):

{SDK_FOLDER}\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm.exe

lub (dla OSX):

{SDK_FOLDER}\extras\intel\Hardware_Accelerated_Execution_Manager\IntelHAXM_1.1.1_for_10_9_and_above.dmg

3) Uruchom emulator.

Daniel
źródło
7
IntelHAXM służy do konfigurowania emulacji opartej na sprzęcie, która nie jest dostępna dla oryginalnego plakatu
Tom Cerul
To nie rozwiązuje pytania OP, ale z pewnością pomogło mi zrozumieć, dlaczego nie mogłem uruchomić obrazu x86, nawet po zainstalowaniu HAXM. Dzięki!
Raj,
Cóż, pytanie wyraźnie zadaje, czy emulator Androida dla Intel x86 Atom może działać bez tego, co tutaj zamieściłeś. tj. HAXM włączony? Jak ten post może rozwiązać problem, o który zadał @dcoder?
Siva Senthil,
Czy jest jakiś sposób na osiągnięcie tego w systemie Linux (ubuntu), używając tylko terminala?
Vini.g.fer
3

Czy jest jakiś sposób, żebym mógł uruchomić emulator Androida dla intel x86 atom bez akceleracji sprzętowej w systemie Windows 8

Nie ze standardowym emulatorem Android SDK, ponieważ wymaga HAXM firmy Intel, a HAXM chce, aby były włączone rozszerzenia wirtualizacji.

Nie mogę powiedzieć, czy Genymotion, czy coś innego od innego niezależnego dewelopera może wspierać pożądaną kombinację.

CommonsWare
źródło
Dzięki cw, jeśli tak jest, pozwól mi spróbować Genymotion i wrócę do ciebie,
dziękuję
@dcoder Czy możesz sprawić, by Genymotion działał? Bo mam też kłopoty z AVD i HAXM. Moją drugą opcją jest Genymotion. Więc chciałbym się dowiedzieć, czy to zadziałało, czy nie.
eluleci
Chodzi o to, że działał on na poprzedniej wersji SDK używając miękkiej emulacji x86. Pytanie brzmi więc albo a) jak ponownie włączyć miękką emulację x86, albo b) jak obniżyć wersję SDK do punktu, w którym to znów zadziała.
Graeme Gill
@GraemeGill: "kiedyś działał na poprzedniej wersji SDK używając miękkiej emulacji x86" - o ile pamiętam, obrazy emulatora x86 zawsze wymagały HAXM. HAXM jest z pewnością wymagany od końca 2012 r. Jeśli masz dowody, że jest inaczej, podaj linki.
CommonsWare
@CommonsWare: Zobacz moją odpowiedź poniżej dla wersji systemu, które miały działający programowy emulator x86.
Graeme Gill
3

Użycie akceleracji sprzętowej zależy od obrazu systemu wybranego w emulatorze.

Więc,

  1. Przejdź do menedżera AVD, utwórz urządzenie wirtualne, wybierz sprzęt, kliknij dalej.

  2. Wybierz obraz systemu, który do działania nie wymaga HAXM (przyspieszenie sprzętowe). (Jest to widoczne w prawym dolnym rogu okna obrazu systemu).

Uwaga: w przypadku innych systemów, które wymagają HAXM, nie ma możliwości ich uruchomienia bez akceleracji sprzętowej.

Mina Samir
źródło
3

użyj bluestacks jako emulatora dla najlepszej wydajności. blusestack działa szybko bez emulacji sprzętowej

Aby podłączyć Bluestack do Android Studio.

  • Zamknij Android Studio.
  • Przejdź do lokalizacji adb.exe. (Domyślnie jego C: \ Users \ Tarun \ AppData \ Local \ Android \ sdk \ platform-tools)
  • Uciekaj adb connect localhost:5555z tego miejsca.
  • Uruchom Android Studio, a po uruchomieniu aplikacji otrzymasz Blue Stack jako emulator.
Gopi Raj
źródło
Nie można przypisać żądanego adresu
Elia Weiss
1

zapoznaj się z wymaganiami witryny intel.com: Ważne: Intel HAXM nie może być używany w systemach bez procesora Intel lub z procesorem Intel, który nie posiada funkcji sprzętowych opisanych w sekcji „Wymagania sprzętowe” powyżej. Aby określić możliwości procesora Intel

[Instrukcja instalacji programu Intel® Hardware Accelerated Execution Manager] https://software.intel.com/en-us/android/articles/installation-instructions-for-intel-hardware-accelerated-execution-manager-mac-os-x

Mój komputer nie obsługuje vt-x, nie mogę korzystać z Android Studio 1.0.2.

OpenCode
źródło
1
Nadal możesz korzystać z Android Studio, ale podczas tworzenia nowego urządzenia wirtualnego w Menedżerze AVD użyj obrazu „arm”, a nie „x86”
robson
Używanie emulacji arm nie pomaga w testowaniu natywnego kodu x86.
Graeme Gill
1

tak, można uruchomić emulator Androida bez akceleratora sprzętowego. Aby to zrobić, musisz otworzyć swoje urządzenie wirtualne z Androidem. Po przejściu do konfiguracji obrazu systemu zasugeruje, której wersji obrazu Androida chcesz użyć. Niezależnie od wybranej wersji obrazu systemu Android, musisz się upewnić, że ABI to armeabi-v7a, a celem jest obraz systemu ameabi-v7a z interfejsami API Google. A następnie wykonaj resztę zadania i sprawdź swój emulator.

ludovic
źródło
Nie o to chodziło w pytaniu.
Rory McCrossan
1
Uruchamianie armabi nie pomaga w debugowaniu błędów specyficznych dla x86.
Graeme Gill
0

Napotkałem ten sam problem, rozwiązanie znalazłem na http://developer.android.com/tools/devices/emulator.html#vm-windows

Po prostu wykonaj te proste kroki:

  1. Uruchom Menedżera Android SDK, wybierz Dodatki, a następnie wybierz Intel Hardware Accelerated Execution Manager.

  2. Po zakończeniu pobierania uruchom [sdk] /extras/intel/Hardware_Accelerated_Execution_Manager/IntelHAXM.exe

  3. Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby zakończyć instalację.

Vicenç
źródło
30
To nie odpowiada na pytanie „Czy możemy go uruchomić bez akceleracji sprzętowej?”
Pacerier
14
To nie jest odpowiedź! Czy w ogóle przeczytałeś pytanie? A kim oni są za tą odpowiedzią ?? !!!!!
Morteza
Odpowiadasz, aby zainstalować program Intel Hardware Accelerated Execution Manager, którego to pytanie nie chce
Rajeev Kumar
Nie jest to rozwiązanie, jeśli HAXM nie działa na twoim procesorze hosta x86, ponieważ brakuje mu najnowszych funkcji wizualizacji.
Graeme Gill
0

Mam komputer z Intel c2d bez akceleracji sprzętowej. Mam ten sam problem w Android Studio. po pierwsze znudziło mi się Android Studio i zainstalowałem eclipse + sdk + adt, potem zainstalowałem wszystko i uruchomiłem emulator, działało, potem ten sam emulator pracował w Android Studio do bezpośredniego uruchamiania aplikacji w Android Studio i uruchomiłem również przykładową aplikację, która emulator więc możesz uruchomić android studio bez techniki wirtualizacji, nawet twój procesor nie obsługuje vt-x

user3309272
źródło
0

Aby uruchomić emulator Androida z akceleracją sprzętową, potrzebujesz przynajmniej "procesora obsługującego VT-x".

Jeśli włączyłeś lub zainstalowałeś "Hyper-V" w swoim Windows 8, usuń go i wyłącz "Hyper-Threading" i włącz "Wirtualizację".

Muzammil Peer
źródło
Dlaczego nie powraca automatycznie do miękkiej emulacji x86, gdy wirtualizacja nie jest dostępna? Pakiet SDK był do tego zdolny.
Graeme Gill
0

Po uruchomieniu „aplikacji” (zielony trójkąt): W Device Chooser wybierz Uruchom emulator i kliknij przycisk [...] Rigth kliknij Nexus (lub inny) kliknij Duplikuj W systemie operacyjnym (przykład Android 6.0) kliknij zmień: Kliknij na Pokaż obrazy systemowe do pobrania. Poszukaj systemu operacyjnego armeabi-v7a i kliknij pobierz. Ustaw ten system operacyjny w urządzeniu. Zakończ i wybierz to urządzenie do emulacji.

FelipeR
źródło