web-dev-qa-db-fra.com

Erreur d'émulateur: un fichier de noyau manque dans la configuration de cet AVD

Ce problème a été découvert lorsque j'ai essayé d'exécuter l'émulateur Android dans Eclipse. Je ne peux pas comprendre ce qui s'est passé. J'ai cherché en ligne la solution, mais elle semblait vague et je ne comprends pas très bien . Je suivais les étapes pour installer l'AVD en fonction des sites et je ne peux pas comprendre ce que j'ai manqué. Expliquez-moi s'il vous plaît dans les étapes à suivre. 

169
shoujo_sm

"L’image système ARM EABI v7a" doit être disponible. Installez-le via le gestionnaire de SDK Android: Android SDK manager

Un autre indice (voir ici ) - avec

  • Android SDK Tools rev 17 ou supérieur
  • Android 4.0.3 (API niveau 15)
  • avec SDK rev 3 et System Image rev 2 (ou supérieure)

vous pouvez activer l’émulation GPU pour obtenir un émulateur plus rapide: enter image description here

Remarque: Selon le commentaire you786, si vous avez déjà créé un émulateur, vous devez le recréer, sinon cela ne fonctionnera pas. 

Alternative 1
Intel fournit le " gestionnaire d'exécution accéléré par le matériel Intel ", qui est un émulateur basé sur VM pour exécuter des images X86 et qui est également desservi par le gestionnaire de SDK Android. Voir un tutoriel pour l'émulateur Intel ici: HAXM accélère l'émulateur Android . Roman Nurik publie ici que l'émulateur Intel avec Android 4.3 est "extrêmement rapide".

Alternative 2
Dans les commentaires du message ci-dessus, vous pouvez trouver une référence à Genymotion , qui prétend être "l'émulateur Android le plus rapide pour les tests et la présentation d'applications". Genymotion fonctionne sur VirtualBox. Voir aussi leur site sur Google+ _, ce post de Cyril Mottier et ce guide sur reddit .

Alternative 3
Dans les forums XDA, je lisais des informations sur MEmu - le plus puissant émulateur Android pour PC, mieux que les Bluestacks . Vous pouvez trouver l'émulateur ici . Cela m'amène à ...

Alternative 4
... cette entrée XDA-Forum: Comment utiliser THE FAST! BlueStack comme émulateur de développement Android de remplacement . Vous pouvez trouver l'émulateur ici .

249
ChrLipp

Une autre raison pour laquelle vous pouvez obtenir cette erreur est qu’Eclipse ne peut pas trouver le fichier correct.

Découvrez où Eclipse recherche vos fichiers SDK. Vous pouvez le faire sur la ligne de commande. Vous trouverez ci-dessous un exemple de la commande windows Invite pour un avd que j'ai créé et nommé "SonyTabletS":

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

La première ligne renvoyée indique où Eclipse recherche les fichiers SDK et ressemble à ceci:

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

Assurez-vous que cet emplacement est correct.

Dans mon cas, Android_SDK_ROOT a été initialement défini de manière incorrecte sur mon répertoire personnel. En effet, je l’ai défini de cette manière en suivant aveuglément les instructions d’installation du Sony SDK Tablet S et en ajoutant une variable d’environnement Android_SDK_ROOT avec un chemin incorrect.

22
KCD

J'ai eu le même problème. Dans mon cas, il est apparu que j'avais installé une autre version du sdk à côté de la version fournie par Android Studio. Changer ma variable d’environnement Android_SDK_ROOT à la valeur d’origine l’a corrigée. 

15
nerdinand

Mon histoire, Eclipse voulait un fichier appelé "kernel-ranchu" dans le dossier des images système (/path/to/Android-sdk-macosx/system-images/Android-25/google_apis/arm64-v8a).

émulateur: ERREUR: il manque un fichier du noyau à la configuration de cet AVD! Assurez-vous que le fichier "kernel-ranchu" se trouve au même emplacement que votre fichier image système.

émulateur: ERREUR: Android_SDK_ROOT n'est pas défini

Dans ce dossier d’images système, il y avait un fichier appelé "kernel-qemu". Je viens de le renommer "kernel-ranchu" et cela a fonctionné ...

9
jptsetung

Voici mon histoire. Sous "Actions" dans le gestionnaire AVD, j'ai visualisé les détails de l'AVD qui ne fonctionnait pas. En descendant, j'ai trouvé la ligne:

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

J'ai ensuite navigué dans ce fichier à l'adresse:

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

J'ai trouvé qu'il n'y avait pas de fichier de noyau. Cependant, j'ai trouvé un fichier de noyau sur:

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

Alors je l'ai copié et collé dans:

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

L'AVD a ensuite travaillé. 

9
CKP78

Ouvrez AVD Manager en mode Administrateur Sélectionnez VM, cliquez sur Modifier, puis sur OK Démarrez la VM.

Note de l'éditeur : Par mode administrateur, il voulait dire clic-droit> Exécuter en tant qu'administrateur sur les plates-formes Windows.

7
user3313044

Si vous savez que le fichier du noyau est installé sur votre ordinateur, le problème consiste à obtenir emulator.exe pour le trouver.

Mon correctif était basé sur le message de user2789389. Je pourrais lancer l'AVD à partir du gestionnaire AVD, mais pas à partir de la ligne de commande. Donc, en utilisant AVD Manager, j'ai sélectionné l'avd que je voulais exécuter et j'ai cliqué sur "Détails". Cela m'a montré le chemin d'accès au fichier de définition avd. Dans un dossier du même nom, à côté de ce fichier .avd, j'ai trouvé un fichier config.ini. Dans l'ini, j'ai trouvé la ligne suivante:

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

J'ai regardé dans le dossier C:\Utilisateurs\XXXX\Android-sdks\images-système\Android-19 et trouvé que le chemin image.sysdir.1 n'était pas valide. J'ai dû supprimer le sous-dossier "par défaut", en le changeant ainsi:

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

J'ai sauvegardé l'ini et j'ai essayé à nouveau de lancer l'AVD. Cela a résolu le problème!

4
BuvinJ

Assurez-vous que vous avez également configuré correctement un périphérique émulé. Android Studio peut en contenir un qui apparaît dans la liste des périphériques émulés, mais qui n'est pas configuré pour fonctionner avec la version du SDK que vous utilisez. 

Essayez de créer un nouveau périphérique émulé dans le gestionnaire AVD (Outils-> Android> Gestionnaire AVD) et de le sélectionner comme cible.

3
kmantel

Suite à la réponse acceptée par ChrLipp sous Android Studio 1.2.2 dans Ubuntu 14.04:

  • Installez le package "ARM EABI v7a System Image" à partir du gestionnaire de SDK Android.
  • Supprimez le périphérique virtuel non fonctionnel.
  • Ajoutez un nouveau périphérique avec ABI (Application Binary Interface) comme armeabi-v7a.
  • Démarrez dans le nouveau périphérique. 

Cela a fonctionné pour moi. Essayez de redémarrer votre système s'il ne fonctionne pas pour vous.

2
manyu

Une pensée intelligente singulière m'est venue après une longue journée de réparation/reconstruction/mises à niveau du SDK/NDK et du JDK. Les vars de l'environnement doivent être examinés, car le correctif pour mon fichier noyau manquant AVD 'GalaxyS3' consistait à développer la référence des images système à absolue.

image.sysdir.1 = C:\Android\sdk\images-système\Android-19\armeabi-v7a \

L'ajout du "C: .... sdk \" à l'entrée "image.sysdir.1 =" de "l'espace de travail". Le fichier Android\avd\GalaxyS3.avd\config.ini a résolu le problème (pour le moment).

2
user2789389

J'ai installé Android SDK Manager et Android SDK hier, et j'ai aussi cette erreur lorsque j'ai essayé d'exécuter l'émulateur Android immédiatement. Mais, à présent, cette erreur disparaît. Je pense que le fait de redémarrer votre système une fois le SDK installé peut résoudre ce problème.

2
Jack Hu

J'ai mis à jour mon SDK Android avec la dernière version (API 19). Lorsque j'ai essayé d'exécuter l'émulateur avec phonegap 3, la construction a réussi mais le problème est le même.

Dans le gestionnaire AVD, il existait un appareil, mais ses paramètres étaient tous inconnus. Cela se produit sûrement parce que j'ai désinstallé l'ancienne version de sdk (API 17) qui renvoie une deuxième erreur lors de la tentative de suppression du périphérique. Avec le message: "le périphérique est déjà en marche"

Pour résoudre le problème, je suis allé à l'emplacement de l'AVD dans ~/.Android/avd/et j'ai supprimé manuellement les fichiers device directory.avd et device.ini. Enfin, dans le gestionnaire de périphériques, j'ai créé un nouveau fichier AVD fourni par la dernière API.

Cela a permis à phonegap de construire et d'exécuter l'émulateur avec succès.

J'espère que ça aide

Bonne journée

2
snaphuman

J'ai essayé ce que ChrLipp avait suggéré, mais ce n'était pas le problème car l'image était déjà installée. Ce que j'ai fait a été couru:

Android avd

pour démarrer l'émulateur manuellement. Puis j'ai arrêté l'émulateur, et forme ce point sur le

cca emulate Android

l'application a commencé à fonctionner sans l'erreur "manque un fichier du noyau".

1
Marc Rochkind

J'ai résolu ce problème en ajoutant simplement la variable d'environnement Android_SDK_ROOT. Dans mon cas, il se trouvait dans C:\Utilisateurs\Fera\AppData\Local\Android\sdk

1
fera

Voir ma réponse pour l'environnement Android Studio, https://stackoverflow.com/a/52161215/8034839

Pour résoudre ce problème, vous devez spécifier le chemin -kernel manuellement. c'est à 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

N'oubliez pas de changer le nom de l'émulateur Galaxy_Nexus_Jelly_Bean_API_16 en votre propre nom d'émulateur. 

La commande ci-dessous permet de vérifier les émulateurs disponibles pour la ligne de commande. 

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

Assurez-vous également que votre chemin emulator est correct, c’est-à-dire celui situé à ~/Library/Android/sdk/emulator/

0
shizhen

Je voulais juste partager mon expérience sur ce problème. En consultant chacune des réponses ici, cela ne correspondait pas à ma situation. Avoir une image système pour Android API 22 provoque cette erreur et ce qui est étrange, c'est que toutes les variables d'environnement pointant vers les bons répertoires. Cela n'a pas de sens.

La réponse de @BuvinJ avait éclairé le problème. J'ai vérifié le chemin décrit dans sa réponse et oui, ma copie de l'image système se trouve dans le sous-dossier par défaut lorsque je regarde dans le répertoire de l'utilisateur (sous Windows).

La chose étrange est, il y a aussi un dossier Android-sdk dans le Android_SDK_ROOT alors je pensais que peut-être Eclipse cherche là-bas. En fouillant dans les sous-dossiers, j'ai découvert que le répertoire ressemblait à ceci:

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

Ce répertoire réside sur Android_SDK_ROOT. Un autre utilisateur réside également dans le répertoire utilisateur/XXXX/Android-sdk /. 

Eclipse l'attend ici:

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

Vient de changer le répertoire en tant que tel et cela fonctionne maintenant.

0
Neon Warge

Dans mon cas, j’ai eu plusieurs erreurs, la plupart concernant des erreurs de configuration {Android_SDK_ROOT} _, à la fin de la journée, une chose a semblé résoudre le problème.

Suivez le processus suivant:

Après avoir créé un nouvel émulateur sur AVD, accédez au menu Actions et cliquez sur la flèche pointant vers le bas, comme indiqué ci-dessous.

 enter image description here

Cliquez sur Show on Disk

Éditez Config.ini

Recherchez image.sysdir.1

sa valeur devrait être la suivante: ** image.sysdir.1 = images-système\Android-28\google_apis_playstore\x86 **

_ {Votre propre valeur pourrait être différente}

Maintenant, corrigez le chemin du sdk Android pour créer un chemin complet.

image.sysdir.1 = ** C:\androidsdk ** images-système\Android-28\google_apis_playstore\x86 \

Si vous avez remarqué que le chemin du sdk Android indiqué ci-dessus est différent du sdk Android par défaut, je devais le déplacer sur C:/androidsdk pour éviter les problèmes de NDK, car mon principal utilisateur HOME HOME sur mon PC présente des espaces qui pourraient pas de support.

NOTE: Le fait que le répertoire SDK soit éloigné de son répertoire par défaut est généralement à l'origine de ces erreurs, indique l'émulateur AVD, tout particulièrement en ce qui concerne les chemins d'accès cassés et mal configurés. Le correctif que j'ai fourni ci-dessus est un correctif rapide, vous devrez peut-être le faire chaque fois que vous créez un nouveau périphérique sur AVD Emulator. 

Ce correctif devrait également fonctionner avec CMD avec Cordova.

0
Akintunde