it-swarm.com.de

Emulatorfehler: Bei dieser AVD-Konfiguration fehlt eine Kernel-Datei

Dieses Problem wurde entdeckt, als ich den Android-Emulator in Eclipse ausführen wollte. Kann nicht herausfinden, was passiert ist. Ich suchte online nach der Lösung, aber es schien vage zu sein und ich verstehe nicht klar .. _. Ich habe die Schritte zur Installation des AVDs entsprechend den Standorten ausgeführt und kann nicht herausfinden, was ich vermisst habe. Bitte erkläre es mir in den folgenden Schritten. 

169
shoujo_sm

Das "ARM EABI v7a System Image" muss verfügbar sein. Installieren Sie es über den Android SDK-Manager: Android SDK manager

Ein weiterer Hinweis (siehe hier ) - mit

  • Android SDK Tools Version 17 oder höher
  • Android 4.0.3 (API-Ebene 15)
  • verwenden von SDK Version 3 und System Image Version 2 (oder höher)

sie können die GPU-Emulation aktivieren, um einen schnelleren Emulator zu erhalten: enter image description here

Hinweis: Wie in einem Kommentar von you786 beschrieben, wenn Sie zuvor einen Emulator erstellt haben, müssen Sie ihn neu erstellen, andernfalls funktioniert dies nicht. 

Alternative 1
Intel bietet den " Intel Hardware Accelerated Execution Manager ", einen VM -basierten Emulator zur Ausführung von X86-Images, der auch vom Android SDK Manager bereitgestellt wird. Ein Tutorial für den Intel Emulator finden Sie hier: HAXM beschleunigt den Android-Emulator . Roman Nurik schreibt hier , dass der Intel Emulator mit Android 4.3 "rasend schnell" ist.

Alternative 2
In den Kommentaren des Beitrags oben finden Sie einen Verweis auf Genymotion , der sich als "der schnellste Android-Emulator für App-Tests und -Präsentation" bezeichnet. Genymotion läuft auf VirtualBox. Siehe auch ihre Website zu Google+ , zu diesem Post von Cyril Mottier und zu diesem Handbuch zu reddit .

Alternative 3
In XDA-Foren las ich über MEmu - Stärkster Android-Emulator für PC, Better Than Bluestacks . Sie finden den Emulator hier . Das bringt mich zu ...

Alternative 4
... diesen XDA-Forum-Eintrag: Wie verwende ich THE FAST! BlueStack als alternativen Emulator für Android-Entwicklung . Sie finden den Emulator hier .

249
ChrLipp

Ein weiterer Grund für diesen Fehler ist, dass Eclipse die richtige Datei nicht finden kann.

Finden Sie heraus, wo Eclipse nach Ihren SDK-Dateien sucht. Sie können dies in der Befehlszeile tun. Im Folgenden finden Sie ein Beispiel für den Windows-Befehl Eingabeaufforderung für ein von mir erstelltes und mit dem Namen "SonyTabletS" benanntes Avd:

c:\Program Files (x86)\Android\android-sdk\tools> emulator @SonyTabletS -verbose

Die erste zurückgegebene Zeile zeigt, wo Eclipse nach den SDK-Dateien sucht und etwa wie folgt aussieht:

emulator: found Android_SDK_ROOT: C:\Program Files (x86)\Android\android-sdk

Stellen Sie sicher, dass der Standort korrekt ist.

In meinem Fall wurde Android_SDK_ROOT anfänglich falsch in meinem Home-Verzeichnis festgelegt. Dies liegt daran, dass ich dies so eingestellt habe, dass ich blind die Installationsanweisungen für das Sony Tablet S SDK befolgt und eine Android_SDK_ROOT-Umgebungsvariable mit dem falschen Pfad hinzugefügt habe.

22
KCD

Ich hatte das gleiche Problem. In meinem Fall stellte sich heraus, dass ich neben der von Android Studio bereitgestellten Version eine weitere Version des SDK installiert hatte. Das Ändern meiner Android_SDK_ROOT-Umgebungsvariable auf den ursprünglichen Wert hat es für mich behoben. 

15
nerdinand

Meine Geschichte, Eclipse wollte eine Datei mit dem Namen "kernel-ranchu" im System-Imageordner (/path/to/Android-sdk-macosx/system-images/Android-25/google_apis/arm64-v8a).

emulator: ERROR: Bei dieser AVD-Konfiguration fehlt eine Kernel-Datei! Bitte stellen Sie sicher, dass sich die Datei "kernel-ranchu" am selben Ort wie Ihr .__ befindet. Systemabbild.

emulator: ERROR: Android_SDK_ROOT ist nicht definiert

In diesem System-Image-Ordner befand sich eine Datei mit dem Namen "kernel-qemu". Ich habe es einfach in "kernel-ranchu" umbenannt und es hat funktioniert ...

9
jptsetung

Hier ist meine Geschichte. Unter "Aktionen" des AVD-Managers habe ich die Details für die AVD angezeigt, die nicht funktioniert hat. Beim Scrollen nach unten fand ich die Zeile:

image.sysdir.1: add-ons\addon-google_apis-google-16\images\armeabi-v7a\

Ich navigierte dann zu dieser Datei unter:

C:\Users\XXXX\AppData\Local\Android\sdk\add-ons\addon-google_apis-google-16\images\armeabi-v7a

Ich fand, dass es keine Kernel-Datei gab. Ich habe jedoch eine Kernel-Datei gefunden unter:

C:\Users\XXXX\AppData\Local\Android\sdk\system-images\Android-16\default\armeabi-v7a

Also habe ich es kopiert und wieder eingefügt in:

C:\Users\XXXX\AppData\Local\Android\sdk\add-ons\addon-google_apis-google-16\images\armeabi-v7a

Die AVD hat dann funktioniert. 

9
CKP78

Öffnen Sie den AVD Manager im Administratormodus. Wählen Sie VM und klicken Sie auf Bearbeiten, klicken Sie auf OK Starten Sie VM.

Anmerkung des Herausgebers : Im Administratormodus meinte er mit der rechten Maustaste> Als Administrator auf Windows-Plattformen ausführen.

7
user3313044

Wenn Sie wissen, dass die Kernel-Datei auf Ihrem Computer installiert ist, kann emulator.exe das Problem nicht finden.

Mein Fix basierte auf dem Beitrag von user2789389. Ich könnte AVD vom AVD Manager aus starten, aber nicht von der Befehlszeile aus. Also habe ich mit AVD Manager das gewünschte AVD ausgewählt und auf "Details" geklickt. Das zeigte mir den Pfad zur avd-Definitionsdatei. In einem Ordner mit demselben Namen fand ich neben dieser .avd-Datei eine config.ini-Datei. Im Ini habe ich folgende Zeile gefunden:

image.sysdir.1=system-images\Android-19\default\armeabi-v7a\

Ich habe im Ordner C:\Users\XXXX\Android-sdks\system-images\Android-19 gesucht und festgestellt, dass der Pfad image.sysdir.1 ungültig ist. Ich musste den "Standard" -Unterordner entfernen und ihn folgendermaßen ändern:

image.sysdir.1=system-images\Android-19\armeabi-v7a\

Ich habe das ini gespeichert und versucht, die AVD erneut zu starten. Das Problem wurde behoben!

4
BuvinJ

Stellen Sie sicher, dass Sie auch ein emuliertes Gerät ordnungsgemäß konfiguriert haben. In Android Studio wird möglicherweise eines angezeigt, das in der Liste der emulierten Geräte angezeigt wird, jedoch nicht für die von Ihnen verwendete SDK-Version konfiguriert ist. 

Erstellen Sie ein neues emuliertes Gerät im AVD Manager (Extras-> Android> AVD Manager) und wählen Sie dieses als Ziel aus.

3
kmantel

Nach der akzeptierten Antwort von ChrLipp mit Android Studio 1.2.2 in Ubuntu 14.04:

  • Installieren Sie das Paket "ARM EABI v7a System Image" vom Android SDK-Manager.
  • Löschen Sie das nicht funktionsfähige virtuelle Gerät.
  • Fügen Sie ein neues Gerät mit Application Binary Interface (ABI) als armeabi-v7a hinzu.
  • Starten Sie das neue Gerät. 

Das hat bei mir funktioniert. Starten Sie Ihr System neu, wenn es nicht funktioniert.

2
manyu

Ein einzigartiger intelligenter Gedanke kam mir nach einem langen Tag der Reparatur/des Wiederaufbaus/Upgrades des SDK/NDK & JDK vor. Die Umgebungsvariablen müssen untersucht werden, da bei der Korrektur der fehlenden Kernel-Datei für AVD 'GalaxyS3' die System-Images-Referenz auf absolut erweitert wurde.

image.sysdir.1 = C:\Android\sdk\system-images\Android-19\armeabi-v7a \

Das Hinzufügen des "C: .... sdk \" zu dem Eintrag "image.sysdir.1 =" im Bereich "workspace". Android\avd\GalaxyS3.avd\config.ini löste das Problem (vorerst).

2
user2789389

Ich habe Android SDK Manager und Android SDK installiert, und ich bekomme diese Fehlermeldung auch, wenn ich den Android-Emulator sofort ausführen wollte. Aber im Moment verschwinden diese Fehler. Ich denke, ein Neustart Ihres Systems nach der Installation des SDKs kann dieses Problem lösen.

2
Jack Hu

Ich habe mein Android SDK auf die neueste Version (API 19) aktualisiert. Beim Versuch, den Emulator mit Phonegap 3 auszuführen, war der Build erfolgreich, das gleiche Problem wurde jedoch ausgeführt.

Im AVD-Manager gab es ein vorhandenes Gerät, seine Parameter waren jedoch alle unbekannt. Dies ist sicherlich der Fall, weil ich die alte SDK-Version (API 17) deinstalliert habe, die beim Versuch, das Gerät zu entfernen, einen zweiten Fehler zurückgibt. Mit der Meldung: "Gerät läuft bereits"

Um das Problem zu lösen, ging ich zum Speicherort von AVD in ~/.Android/avd/und entfernte manuell die Geräteverzeichnis.avd- und Gerät.ini-Datei. Schließlich habe ich im Gerätemanager eine neue AVD erstellt, die von der neuesten API bereitgestellt wird.

Dies ermöglichte es Phonegap, den Emulator erfolgreich zu erstellen und auszuführen

Ich hoffe das hilft

Schönen Tag

2
snaphuman

Ich habe versucht, was ChrLipp vorschlug, aber das war nicht das Problem, da das Image bereits installiert war. Was ich gemacht habe war:

Android avd

um den Emulator manuell zu starten. Dann stoppte ich den Emulator und bildete diesen Punkt auf der

cca emulate Android

app begann zu arbeiten, ohne dass der Fehler "Eine Kernel-Datei fehlt" aufgetreten ist.

1
Marc Rochkind

Ich habe dieses Problem behoben, indem ich nur die Umgebungsvariable Android_SDK_ROOT hinzugefügt habe. In meinem Fall befand sich diese Datei unter C:\Users\fera\AppData\Local\Android\sdk

1
fera

Siehe meine Antwort für die Android Studio-Umgebung, https://stackoverflow.com/a/52161215/8034839

Um dieses Problem zu lösen, müssen Sie den Pfad -kernel manuell angeben. d.h.

$ ~/Library/Android/sdk/emulator/emulator  @Galaxy_Nexus_Jelly_Bean_API_16 -kernel ~/Library/Android/sdk/system-images/Android-16/default/armeabi-v7a/kernel-qemu

Denken Sie daran, den Emulatornamen Galaxy_Nexus_Jelly_Bean_API_16 in Ihren eigenen Emulatornamen zu ändern. 

Der folgende Befehl dient zum Überprüfen der verfügbaren Emulatoren für die Befehlszeile. 

$ ~/Library/Android/sdk/emulator/emulator -list-avds

Stellen Sie außerdem sicher, dass Ihr Emulatorpfad korrekt ist, d. H. Der Pfad unter ~/Library/Android/sdk/emulator/

0
shizhen

Ich wollte nur meine Erfahrungen mit diesem Problem teilen. Wenn ich die Antworten hier konsultierte, entsprach sie nicht meiner Situation. Ein Systemabbild für die Android-API 22 verursacht diesen Fehler, und das Seltsame ist, dass alle Umgebungsvariablen auf die richtigen Verzeichnisse verweisen. Es macht keinen Sinn.

@BuvinJs Antwort hatte etwas Licht in das Problem gebracht. Ich habe den Pfad beschrieben, der in seiner Antwort beschrieben wird, und ja, meine Kopie des Systemabbilds befindet sich unter dem Standardordner des Unterordners, wenn ich das Benutzerverzeichnis (unter Windows) durchsehe.

Das Seltsame ist, es gibt auch einen Android-SDK-Ordner in Android_SDK_ROOT, also dachte ich, vielleicht sucht Eclipse dort. Beim Durchforsten der Unterordner habe ich herausgefunden, dass das Verzeichnis so aussieht:

Android-sdk-windows\system-images\Android-22\google_apis\armeabi-v7a

Dieses Verzeichnis befindet sich auf dem Android_SDK_ROOT. Es gibt auch einen anderen im Benutzerverzeichnis user/XXXX/Android-sdk /. 

Eclipse erwartet es hier:

Android-sdk-windows\system-images\Android-22\default\armeabi-v7a

Einfach das Verzeichnis als solches geändert und es funktioniert jetzt.

0
Neon Warge

In meinem eigenen Fall hatte ich mehrere Fehler, von denen die meisten über falsch konfigurierte Android_SDK_ROOT waren. Am Ende des Tages schien eine Sache das Ganze zu beheben.

Folge dem folgenden Vorgang:

Gehen Sie nach dem Erstellen eines neuen Emulatorgeräts in AVD zum Menü Aktionen und klicken Sie auf den nach unten zeigenden Pfeil (siehe unten).

 enter image description here

Klicken Sie auf Show on Disk

Bearbeiten Sie Config.ini

Suchen Sie nach image.sysdir.1

es sollte einen Wert wie folgt haben: ** image.sysdir.1 = Systemabbilder\Android-28\google_apis_playstore\x86 **

Ihr eigener Wert kann anders sein

Korrigieren Sie nun den Pfad der Android-SDK, um einen vollständigen Pfad zu erstellen.

image.sysdir.1 = ** C:\androidsdk ** Systemabbilder\Android-28\google_apis_playstore\x86 \

Wenn Sie bemerkt haben, dass der oben abgebildete Android-SDK-Pfad sich von dem normalen Standard-Android-SDK unterscheidet, musste ich ihn nach C:/androidsdk verschieben, um Probleme mit NDK zu vermeiden, da mein Haupt-USER HOME auf meinem PC Whitespaces enthält, die möglicherweise von NDK verwendet werden nicht unterstützt.

ANMERKUNG: Das Verschieben des SDK-Verzeichnisses aus dem Standardverzeichnis ist in der Regel die Ursache dieser Fehler, die der AVD-Emulator ausgibt. Dies gilt insbesondere für den fehlerhaften und falsch konfigurierten Pfad. Bei dem oben genannten Update handelt es sich um ein schnelles Update. Sie müssen dies möglicherweise jedes Mal tun, wenn Sie ein neues Gerät im AVD-Emulator erstellen. 

Dieser Fix sollte auch funktionieren, wenn Sie mit Cordova an CMD arbeiten.

0
Akintunde