web-dev-qa-db-fra.com

Impossible de démarrer l'émulateur Android avec ERROR: une autre instance d'émulateur est exécutée avec le fichier AVD actuel.

Utilisation de la CLI et exécution de l’émulateur avec la commande suivante:

./emulator -use-system-libs @Nexus5API25

Affiche uniquement l'erreur et un émulateur ne démarre pas.

emulator: ERROR: There's another emulator instance running with the current AVD 'Nexus5API25'. Exiting...

Et:

  • Il n'y a pas d'instance d'émulateur en cours d'exécution.
  • Nexus5API25 existe et fonctionnait dans le passé.
  • Je dois utiliser le drapeau -use-system-libs sur ma machine pour démarrer une instance d'émulateur.
  • Autre AVD fonctionne.

Une fois exécuté avec -verbose, plus de détails sont imprimés, mais je ne vois rien qui puisse m'aider à résoudre le problème:

emulator:Android emulator version 26.1.3.0 (build_id 4205252) (CL:e55642d861e04276b2fa453bfaff4a836f3a3269)
emulator:Found AVD name 'Nexus5API25'
emulator:Found AVD target architecture: x86_64
emulator:argv[0]: './emulator'; program directory: '/home/developer/opt/Android/Sdk/emulator'
emulator:  Found directory: /home/developer/opt/Android/Sdk/system-images/Android-25/google_apis/x86_64/

emulator:Probing for /home/developer/opt/Android/Sdk/system-images/Android-25/google_apis/x86_64//kernel-ranchu: file exists
emulator:Auto-config: -engine qemu2 (based on configuration)
emulator:  Found directory: /home/developer/opt/Android/Sdk/system-images/Android-25/google_apis/x86_64/

emulator:try dir /home/developer/opt/Android/Sdk/emulator
emulator:Found target-specific 64-bit emulator binary: /home/developer/opt/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-x86_64
emulator:Adding library search path: '/home/developer/opt/Android/Sdk/emulator/lib64'
emulator:Adding library search path: '/home/developer/opt/Android/Sdk/emulator/lib64/gles_swiftshader'
emulator:Adding library search path: '/home/developer/opt/Android/Sdk/emulator/lib64/gles_angle'
emulator:Adding library search path: '/home/developer/opt/Android/Sdk/emulator/lib64/gles_angle9'
emulator:Adding library search path: '/home/developer/opt/Android/Sdk/emulator/lib64/gles_angle11'
emulator: Adding library search path for Qt: '/home/developer/opt/Android/Sdk/emulator/lib64/qt/lib'
emulator: Setting Qt plugin search path: QT_QPA_PLATFORM_PLUGIN_PATH=/home/developer/opt/Android/Sdk/emulator/lib64/qt/plugins
emulator: Running :/home/developer/opt/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-x86_64
emulator: qemu backend: argv[00] = "/home/developer/opt/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-x86_64"
emulator: qemu backend: argv[01] = "-verbose"
emulator: qemu backend: argv[02] = "-use-system-libs"
emulator: qemu backend: argv[03] = "@Nexus5API25"
emulator: Concatenated backend parameters:
 /home/developer/opt/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-x86_64 -verbose -use-system-libs @Nexus5API25
emulator: Android virtual device file at: /home/developer/.Android/avd/Nexus5API25.ini
emulator: virtual device content at /home/developer/.Android/avd/Nexus_5_API_25.avd
emulator: virtual device config file: /home/developer/.Android/avd/Nexus_5_API_25.avd/config.ini
emulator: using core hw config path: /home/developer/.Android/avd/Nexus_5_API_25.avd/hardware-qemu.ini
emulator: Found AVD target API level: 25
emulator: Read property file at /home/developer/opt/Android/Sdk/system-images/Android-25/google_apis/x86_64//build.prop
emulator: No boot.prop property file found.
emulator: found skin 'nexus_5' in directory: /home/developer/opt/Android/Sdk/skins/
emulator: autoconfig: -skin nexus_5
emulator: autoconfig: -skindir /home/developer/opt/Android/Sdk/skins/
emulator: autoconfig: -kernel /home/developer/opt/Android/Sdk/system-images/Android-25/google_apis/x86_64//kernel-ranchu
emulator: Target Arch = 'x86_64'
emulator: Auto-detect: Kernel image requires new device naming scheme.
emulator: Auto-detect: Kernel does not support YAFFS2 partitions.
emulator: autoconfig: -ramdisk /home/developer/opt/Android/Sdk/system-images/Android-25/google_apis/x86_64//ramdisk.img
emulator: Using initial system image: /home/developer/opt/Android/Sdk/system-images/Android-25/google_apis/x86_64//system.img
emulator: No vendor image
emulator: autoconfig: -data /home/developer/.Android/avd/Nexus_5_API_25.avd/userdata-qemu.img
emulator: autoconfig: -initdata /home/developer/.Android/avd/Nexus_5_API_25.avd/userdata.img
emulator: autoconfig: -cache /home/developer/.Android/avd/Nexus_5_API_25.avd/cache.img
emulator: autoconfig: -sdcard /home/developer/.Android/avd/Nexus_5_API_25.avd/sdcard.img
emulator: Physical RAM size: 1536MB

emulator: VM heap size 128MB is below hardware specified minimum of 384MB,setting it to that value
emulator: System image is read only
emulator: Found 1 DNS servers: 127.0.0.53
emulator: ERROR: There's another emulator instance running with the current AVD 'Nexus5API25'. Exiting...

Je sais que je peux supprimer le DAV et en créer un nouveau. Mais y at-il un moyen de résoudre le problème avec AVD existant sans le recréer?

17
Josef Adamcik

J'ai réussi à résoudre le problème en supprimant un fichier de verrouillage créé par le gestionnaire d'avd.

rm ~/.Android/avd/Nexus_5_API_25.avd/hardware-qemu.ini.lock

Les émulateurs fonctionnent sans problèmes une fois que j'ai supprimé le fichier.

59
Josef Adamcik

J'ai eu le même problème, même si aucun autre émulateur ne fonctionnait.

Dans mon cas, le système de fichiers contenant les répertoires avd était monté en lecture seule. Le remonter rw a résolu le problème

mount -o remount,rw /path/to/avd/file/system
1
Olaf Dietsche

Sous Linux, cela peut également être dû au fait que le fichier AVD a été créé par root alors qu'un autre utilisateur tente d'exécuter l'émulateur. Dans ce cas, changer le propriétaire du contenu du dossier avd devrait aider à le résoudre.

Sudo chown -R YOUR_USER. avd
1
tutak

Avez-vous essayé de tuer le processus avant d'exécuter votre script?

D'abord, vous trouvez le PID

adb Shell ps 

Ensuite, vous tuez le processus

adb Shell kill <PID>
0
Victor Neves