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:
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?
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.
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
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
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>