Impossible de démarrer l’émulateur Android avec ERROR: Il y a une autre instance de l’émulateur en cours d’exécution avec le AVD actuel

Utilisation de l’interface de ligne de commande 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 par le passé.
  • Je dois utiliser l’option -use-system-libs sur mon ordinateur pour démarrer une instance d’émulateur.
  • Autre AVD fonctionne.

Lorsqu’il est exécuté avec -verbose, il y a plus de détails imprimés mais je ne vois rien qui pourrait 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 l’AVD et en créer un nouveau. Mais y a-t-il un moyen de résoudre le problème avec AVD existant sans le recréer?

J’ai réussi à résoudre le problème en supprimant un fichier de locking créé par avd manager.

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

L’émulateur a fonctionné sans problème une fois le fichier supprimé.

Sous Linux, cela pourrait également être dû au fait que l’AVD a été créé par root alors qu’un autre utilisateur essaie d’exécuter l’émulateur. Dans ce cas, changer le propriétaire du contenu du dossier avd devrait permettre de le résoudre.

 sudo chown -R YOUR_USER. avd 

J’avais 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 résolu le problème

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

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

Vous trouvez d’abord le PID

 adb shell ps 

Puis tu tues le processus

 adb shell kill