Errore emulatore: nella configurazione di questo AVD manca un file del kernel


183

Questo problema è stato scoperto quando ho provato a eseguire l'emulatore Android in Eclipse. Non riesco a capire cosa è successo. Ho cercato online la soluzione, ma sembrava essere vago e non capisco chiaramente. Stavo seguendo i passaggi per installare l'AVD in base ai siti e non riesco a capire cosa mi sono perso. Per favore spiegamelo nei passaggi da seguire.


stesso problema: stackoverflow.com/questions/8190820/scala-android-newbie - crea un nuovo AVD
zapl

1
Su un mac non è ancora possibile avviarlo; usare una riparazione sull'AVD ha funzionato per me stackoverflow.com/a/15971119/664220
Ronnie

riavviare Eclipse dopo aver installato l'immagine ARM e aver quindi creato un nuovo AVD per me.
Simon,

Può essere questo link può aiutare: developer.android.com/tools/help/avd-manager.html
Abhijeet

Risposte:


254

Deve essere disponibile "Immagine di sistema ARM EABI v7a". Installalo tramite il gestore SDK Android: Gestore SDK Android

Un altro suggerimento (vedi qui ) - con

  • Android SDK Tools versione 17 o successiva
  • Android 4.0.3 (API Level 15)
  • utilizzando SDK rev 3 e System Image rev 2 (o versione successiva)

sei in grado di attivare l'emulazione GPU per ottenere un emulatore più veloce: inserisci qui la descrizione dell'immagine

Nota: secondo il tuo commento786 se hai già creato un emulatore, devi ricrearlo, altrimenti non funzionerà.

Alternativa 1
Intel fornisce il " Intel Intel Acceleration Executor Manager ", che è un emulatore basato su VM per l'esecuzione di immagini X86 e che è anche servito da Android SDK Manager. Guarda un tutorial per l'emulatore Intel qui: HAXM accelera l'emulatore Android . Roman Nurik pubblica qui che l'emulatore Intel con Android 4.3 è "velocissimo".

Alternativa 2
Nei commenti del post sopra puoi trovare un riferimento a Genymotion che afferma di essere "l'emulatore Android più veloce per il test e la presentazione di app". Genymotion funziona su VirtualBox. Vedi anche il loro sito su Google+ , questo post di Cyril Mottier e questa guida su reddit .

Alternativa 3
Nei forum XDA ho letto di MEmu, il più potente emulatore Android per PC, migliore dei Bluestacks . Puoi trovare l'emulatore qui . Questo mi porta a ...

Alternativa 4
... questa voce del forum XDA: come usare THE FAST! BlueStack come emulatore di sviluppo Android alternativo . Puoi trovare l'emulatore qui .


1
Purtroppo si è verificato un arresto anomalo su alcune schede ATI quando è attivata l'emulazione GPU, in attesa di un emulatore aggiornato.
ChrLipp l'

23
Ho scoperto che dovevo eliminare l'emulatore e ricrearlo dopo l'installazione per risolvere questo problema.
you786,

3
@ you786 sì, è importante ricrearlo
Bob

1
Ho fatto tutto il possibile, ma è ancora lì durante il lancio del simulatore
VISHNU GARG

Vedi la mia risposta qui sotto.
Marc Rochkind,

22

Un altro motivo per cui è possibile ottenere questo errore è che Eclipse non riesce a trovare il file corretto.

Scopri dove Eclipse sta cercando i tuoi file SDK. Puoi farlo dalla riga di comando. Di seguito è riportato un esempio per il prompt dei comandi di Windows per un avd che ho creato e chiamato "SonyTabletS":

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

La prima riga restituita mostra dove eclipse sta cercando i file SDK e sarà simile a:

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

Assicurarsi che la posizione sia corretta.

Nel mio caso, ANDROID_SDK_ROOTinizialmente è stato impostato in modo errato sulla mia home directory. Questo perché l'ho impostato in questo modo seguendo ciecamente le istruzioni di installazione dell'SDK di Sony Tablet S e aggiungendo una ANDROID_SDK_ROOTvariabile di ambiente con il percorso errato.


Nel mio caso, Android \ android-studio \ sdk è stato rilevato sulla posizione ANDROID_SDK_ROOT mentre eseguo l'emulatore dalla cartella Android \ android-sdk. Una volta che punta correttamente su Android \ android-sdk, funziona.
Noel aye,

Questo è stato per me. Il mio ambiente di build utilizza un ANDROID_SDK_ROOT che non posso aggiornare facilmente. La correzione consisteva nel lanciare un prompt dei comandi pulito e impostare ANDROID_SDK_ROOT su quello giusto e avviare il gestore sdk da lì.
Doug Coburn,

Controlla di non avere accidentalmente installato due copie dell'SDK. Se sei come me, stavi installando "Immagine di sistema ARM EABI v7a" in una copia ma l'AVD stava cercando di trovarla nell'altra copia. Ho rimosso una delle mie copie dell'SDK e quindi il mio emulatore si è avviato.
Sffc,

Nel mio caso, ho la mia cartella SDK che punta alla directory corretta.
Neon Warge,

16

La mia storia, Eclipse voleva un file chiamato " kernel-ranchu" nella cartella delle immagini di sistema ( /path/to/android-sdk-macosx/system-images/android-25/google_apis/arm64-v8a).

emulatore: ERRORE: nella configurazione di questo AVD manca un file del kernel! Assicurati che il file "kernel-ranchu" sia nella stessa posizione dell'immagine di sistema.

emulatore: ERRORE: ANDROID_SDK_ROOT non è definito

In quella cartella di immagini di sistema c'era un file chiamato " kernel-qemu". L'ho appena rinominato " kernel-ranchu" e ha funzionato ...


4
Nel mio caso è stato il contrario
urnenfeld il

15

Ho avuto lo stesso problema. Nel mio caso si è scoperto che avevo installato un'altra versione di SDK insieme alla versione fornita da Android Studio. La modifica della variabile di ambiente ANDROID_SDK_ROOT sul valore originale l'ha risolta per me.


1
È importante notare che questa è una risposta ugualmente valida come risposta principale nel caso in cui l'SDK fosse precedentemente installato prima di Android Studio. Il bug è che Android Studio dovrebbe notare che ANDROID_SDK_ROOT è già impostato su una posizione alternativa e avvisare l'utente durante l'installazione.
Core

Il core è corretto. Sono passato da Eclipse ad Android Studio oggi e questo è ciò che ha risolto il problema per me.
Pikamander2,

11

Ecco la mia storia Sotto "Azioni" sul gestore AVD, ho visualizzato i dettagli per l'AVD che non funzionava. Scorrendo verso il basso, ho trovato la riga:

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

Sono quindi passato a questo file su:

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

Ho scoperto che non c'erano file del kernel. Tuttavia, ho trovato un file del kernel su:

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

Quindi l'ho copiato e incollato di nuovo in:

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

L'AVD ha quindi funzionato.


Grazie, questo ha risolto! Penso che questo debba essere un bug o un errore perché è un comportamento molto strano
Hugo,

7

Apri AVD Manager in modalità Amministratore Seleziona VM e fai clic su Modifica, fai clic su OK Avvia VM.

Nota del redattore : per modalità amministratore, intendeva fare clic con il pulsante destro del mouse> Esegui come amministratore su piattaforme Windows.


Cosa / dove si trova la 'Modalità amministratore'?
ericpeters0n

Impossibile trovare VM, per Mac OS
Frank Fang

4

Se sai che il file del kernel è installato sul tuo computer, allora il problema è ottenere emulator.exe per trovarlo.

La mia correzione si basava sul post dell'utente2789389. Potrei avviare l'AVD da AVD Manager, ma non dalla riga di comando. Quindi, utilizzando AVD Manager, ho selezionato l'avd che volevo eseguire e ho fatto clic su "Dettagli". Questo mi ha mostrato il percorso del file di definizione avd. All'interno di una cartella con lo stesso nome, accanto a questo file .avd, ho trovato un file config.ini. Ini, ho trovato la seguente riga:

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

Ho cercato nella cartella C: \ Users \ XXXX \ android-sdks \ system-images \ android-19 e ho scoperto che il percorso image.sysdir.1 non era valido. Ho dovuto rimuovere la sottocartella "predefinita", cambiandola in questo modo:

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

Ho salvato l'ini e ho provato di nuovo ad avviare l'AVD. Ciò ha risolto il problema!


Questo non l'ha risolto. Nel mio caso ho l'immagine di sistema nella sottocartella predefinita.
Neon Warge,

Non devi votarmi perché hai un problema diverso! Ciò non rende la mia risposta sbagliata.
BuvinJ,

Hai votato in giù anche ogni altro post qui, perché non hanno risolto il tuo problema?
BuvinJ,

Questo risolto il problema per me, sto correndo su Mac e il percorso puntava a image.sysdir.1 = componenti aggiuntivi / addon-google_apis-google-16 / images / armeabi-v7a, passando a system-images / android -16 / default / armeabi-v7a risolto il problema
Felipe,

3

Assicurarsi di aver configurato correttamente anche un dispositivo emulato. Android Studio potrebbe venire con uno che appare nell'elenco dei dispositivi emulati ma che non è impostato per funzionare con la versione dell'SDK in uso.

Prova a creare un nuovo dispositivo emulato in AVD Manager (Strumenti-> Android> AVD Manager) e selezionalo come destinazione.


Cercando di seguire questo percorso fammi sapere che HAXM non è stato effettivamente installato, anche se ha dimostrato che lo era. Mi è stato richiesto di installare Intel HAXM.
Lodlaiden,

2

Ho installato Android SDK manager e Android SDK ieri e ottengo anche questo errore quando provo a eseguire immediatamente l'emulatore Android. Ma, in questo momento questo errore scompare, penso che riavviare il sistema quando SDK è installato potrebbe risolvere questo problema.


2

Un singolare pensiero intelligente mi è venuto in mente dopo una lunga giornata di riparazione / ricostruzione / aggiornamento di SDK / NDK e JDK. Le variabili d'ambiente devono essere esaminate, poiché la correzione per il mio file del kernel mancante di AVD "GalaxyS3" consisteva nell'espandere il riferimento delle immagini di sistema ad assoluto.

image.sysdir.1 = C: \ Android \ SDK \ system-images \ android-19 \ armeabi-V7A \

L'aggiunta di "C: .... sdk \" alla voce 'image.sysdir.1 =' nel file 'workspace'.android \ avd \ GalaxyS3.avd \ config.ini ha risolto il problema (per ora).


2

Ho aggiornato il mio SDK Android all'ultima versione (API 19). Quando ho provato a eseguire l'emulatore con phonegap 3, la compilazione ha avuto successo ma ha riscontrato lo stesso problema.

Nel gestore AVD esisteva un dispositivo esistente, tuttavia i suoi parametri erano tutti sconosciuti. Questo si verifica sicuramente perché ho disinstallato la vecchia versione di sdk (API 17) che restituisce un secondo errore durante il tentativo di rimuovere il dispositivo. Con il messaggio: "il dispositivo è già in esecuzione"

Per risolvere il problema, sono andato alla posizione dell'AVD in ~ / .android / avd / e ho rimosso manualmente il file directory.avd e device.ini del dispositivo. Infine, in Gestione dispositivi ho creato un nuovo AVD fornito dall'API più recente.

Ciò ha permesso a phonegap di compilare ed eseguire correttamente l'emulatore

Spero che aiuti

Buona giornata


2

A seguito della risposta accettata da ChrLipp utilizzando Android Studio 1.2.2 in Ubuntu 14.04:

  • Installa il pacchetto "ARM EABI v7a System Image" dal gestore SDK Android.
  • Elimina il dispositivo virtuale non funzionale.
  • Aggiungi un nuovo dispositivo con Application Binary Interface (ABI) come armeabi-v7a.
  • Avvia nel nuovo dispositivo.

Questo ha funzionato per me. Prova a riavviare il sistema se non funziona per te.


2

Vedi la mia risposta per l' ambiente Android Studio , Mac e "PANIC: programma motore emulatore mancante per CPU" arm ".".

Per risolvere questo problema, è necessario specificare il -kernelpercorso manualmente. vale a dire

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

Ricorda di cambiare il nome dell'emulatore Galaxy_Nexus_Jelly_Bean_API_16 con il tuo nome dell'emulatore.

Sotto il comando è di controllare gli emulatori disponibili per la riga di comando.

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

Inoltre, assicurati che il percorso dell'emulatore sia corretto, ovvero quello che si trova in ~/Library/Android/sdk/emulator/.


1

Ho provato ciò che ChrLipp ha suggerito, ma non era questo il problema, poiché l'immagine era già installata. Quello che ho fatto è stato eseguito:

android avd

per avviare manualmente l'emulatore. Quindi ho fermato l'emulatore e ho formato quel punto sul

cca emulate android

l'app ha iniziato a funzionare, senza l'errore "manca un file del kernel".


1

Ho risolto questo problema aggiungendo semplicemente la variabile ANDROID_SDK_ROOT Enviroment, nel mio caso questo si trovava in C: \ Users \ fera \ AppData \ Local \ Android \ sdk


1

Nel mio caso, ho riscontrato più errori, la maggior parte dei quali riguardavano una ANDROID_SDK_ROOT mal configurata , alla fine una cosa sembrava sistemare il tutto.

Segui la seguente procedura:

Dopo aver creato un nuovo dispositivo di emulazione su AVD, vai al menu Azioni e fai clic sulla freccia rivolta verso il basso, come mostrato di seguito.

inserisci qui la descrizione dell'immagine

Fai clic su Mostra su disco

Modifica Config.ini

Cerca image.sysdir.1

dovrebbe avere un valore come questo: ** image.sysdir.1 = system-images \ android-28 \ google_apis_playstore \ x86 **

Il tuo valore potrebbe essere diverso

Ora correggi il percorso di Android Sdk per creare un percorso completo.

image.sysdir.1 = ** C: \ androidsdk ** system-immagini \ android-28 \ google_apis_playstore \ x86 \

Se hai notato, il percorso sdk di Android mostrato sopra è diverso dal normale sdk di default di Android, ho dovuto spostarlo in C: / androidsdk per evitare problemi di NDK poiché la mia USER HOME principale sul mio PC ha spazi bianchi che NDK potrebbe non supportare.

NOTA: lo spostamento della directory SDK dalla directory predefinita è di solito la causa di questi errori che l'emulatore AVD fornisce, soprattutto per quanto riguarda il percorso rotto e non configurato correttamente. La correzione che ho fornito sopra è una soluzione rapida, potrebbe essere necessario farlo ogni volta che si crea un nuovo dispositivo su AVD Emulator.

Questa correzione dovrebbe funzionare anche quando si lavora su CMD con Cordova.


0

Volevo solo condividere la mia esperienza su questo problema. Consultando ciascuna delle risposte qui, non corrispondeva alla mia situazione. Avere un'immagine di sistema per l'API 22 di Android causa questo errore e la cosa strana è che tutte le variabili di ambiente puntano alle directory corrette. Non ha senso.

La risposta di @BuvinJ ha fatto luce sul problema. Ho controllato il percorso descritto nella sua risposta e sì, la mia copia dell'immagine di sistema risiede nella cartella predefinita di default quando guardo la directory dell'utente (su Windows).

La cosa strana è che c'è anche una cartella android-sdk in ANDROID_SDK_ROOT, quindi ho pensato che forse Eclipse stesse guardando lì. Scavando le sottocartelle ho capito che la directory è simile alla seguente:

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

Questa directory risiede su ANDROID_SDK_ROOT. Ce n'è anche un altro residente nella directory utente user / XXXX / android-sdk /.

Eclipse lo aspetta qui:

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

Ho appena cambiato la directory in quanto tale e funziona ora.


0

Aggiorna i seguenti comandi nel prompt dei comandi in Windows:

i) android update sdk --no-ui --all // Aggiorna i pacchetti SDK e richiede 3 minuti. ii) android update sdk --no-ui --filter platform-tools, tools // Aggiorna gli strumenti della piattaforma e i suoi pacchetti. iii) aggiornamento android sdk --no-ui --all --filter extra-android-m2repository // Coloro che stanno lavorando con il progetto Maven lo aggiornano per supportare con l'ultima libreria di progettazione di supporto che includerà il repository Android Maven.

1) Nel prompt dei comandi ti chiede Y / N. Fai clic su Y quindi procede con l'installazione. 2) Aggiorna tutti i file Kernel-qemu e i comandi qt5.dll. in modo che l'emulatore funzioni bene senza problemi.


-1

Per me L'aggiornamento degli strumenti SDK ha corretto gli errori.

Schermata degli errori e avanzamento dell'aggiornamento


-1

Ho risolto questo problema aggiornando gli strumenti SDK e gli strumenti della piattaforma in Android SDK Manager alla versione più recente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.