J'ai essayé d'utiliser l'émulateur Android après avoir téléchargé Android Studio. J'ai déjà utilisé un vieux Samsung S4, mais j'ai besoin de quelque chose de compatible avec Marshmallow pour certaines fonctionnalités.
Les problèmes que je vois sont:
Les solutions que j'ai essayées:
La plupart des solutions pour un émulateur lent/qui ne fonctionnait pas étaient liées aux paramètres de l'émulateur que j'avais modifiés et essayés. Cela fait trois jours que je suis coincé dans cette affaire et je recherche une solution pour pouvoir tester mon application nécessitant une API Android de 23 ans et plus.
Une petite note au cas où je n'aurais pas de chance. J'utilise un MAC mi-2010 fonctionnant sous OSX Sierra, un processeur Core 2 duo, 16 Go de RAM et un disque dur de 1 To.
** Update J'ai parcouru l'émulateur via la ligne de commande et voici la sortie que je reçois. L'émulateur est toujours en cours de chargement sur l'écran Android, mais aucune sortie n'a été enregistrée au cours des 30 dernières minutes après "Adb connected, start proxing data".
Macs-MacBook-Pro-2:sdk joncorrin$ tools/emulator @Nexus_5X_API_23 -verbose
emulator:Android emulator version 25.3.0.0 (build_id 3394391)
emulator:Found AVD name 'Nexus_5X_API_23'
emulator:Found AVD target architecture: x86
emulator:argv[0]: 'tools/emulator'; program directory: '/Users/mac/Library/Android/sdk/tools'
emulator: Found directory: /Users/mac/Library/Android/sdk/system-images/Android-23/google_apis/x86/
emulator:Probing for /Users/mac/Library/Android/sdk/system-images/Android-23/google_apis/x86//kernel-ranchu: file exists
emulator:Auto-config: -engine qemu2 (based on configuration)
emulator: Found directory: /Users/mac/Library/Android/sdk/system-images/Android-23/google_apis/x86/
emulator:try dir /Users/mac/Library/Android/sdk/tools
emulator:try dir tools/
emulator:try dir emulator
emulator:Found target-specific 64-bit emulator binary: emulator/qemu/darwin-x86_64/qemu-system-i386
emulator:Adding library search path: 'emulator/lib64'
emulator: Found directory: /Users/mac/Library/Android/sdk/system-images/Android-23/google_apis/x86/
emulator: Found directory: /Users/mac/Library/Android/sdk/system-images/Android-23/google_apis/x86/
emulator:GPU emulation is disabled
emulator: Adding library search path for Qt: 'emulator/lib64/qt/lib'
emulator: Setting Qt plugin search path: QT_QPA_PLATFORM_PLUGIN_PATH=emulator/lib64/qt/plugins
emulator: Running :emulator/qemu/darwin-x86_64/qemu-system-i386
emulator: qemu backend: argv[00] = "emulator/qemu/darwin-x86_64/qemu-system-i386"
emulator: qemu backend: argv[01] = "@Nexus_5X_API_23"
emulator: qemu backend: argv[02] = "-verbose"
emulator: Concatenated backend parameters:
emulator/qemu/darwin-x86_64/qemu-system-i386 @Nexus_5X_API_23 -verbose
emulator: WARNING: Crash service did not start
emulator: Android virtual device file at: /Users/mac/.Android/avd/Nexus_5X_API_23.ini
emulator: virtual device content at /Users/mac/.Android/avd/Nexus_5X_API_23.avd
emulator: virtual device config file: /Users/mac/.Android/avd/Nexus_5X_API_23.avd/config.ini
emulator: using core hw config path: /Users/mac/.Android/avd/Nexus_5X_API_23.avd/hardware-qemu.ini
emulator: Found AVD target API level: 23
emulator: Read property file at ./system-images/Android-23/google_apis/x86//build.prop
emulator: No boot.prop property file found.
emulator: found skin 'nexus_5x' in directory: /Users/mac/Library/Android/sdk/skins/
emulator: autoconfig: -skin nexus_5x
emulator: autoconfig: -skindir /Users/mac/Library/Android/sdk/skins/
emulator: autoconfig: -kernel ./system-images/Android-23/google_apis/x86//kernel-ranchu
emulator: Target Arch = 'x86'
emulator: Auto-config: -qemu -cpu qemu32
emulator: Auto-detect: Kernel image requires new device naming scheme.
emulator: Auto-detect: Kernel does not support YAFFS2 partitions.
emulator: autoconfig: -ramdisk ./system-images/Android-23/google_apis/x86//ramdisk.img
emulator: Using initial system image: ./system-images/Android-23/google_apis/x86//system.img
emulator: autoconfig: -data /Users/mac/.Android/avd/Nexus_5X_API_23.avd/userdata-qemu.img
emulator: autoconfig: -initdata /Users/mac/.Android/avd/Nexus_5X_API_23.avd/userdata.img
emulator: autoconfig: -cache /Users/mac/.Android/avd/Nexus_5X_API_23.avd/cache.img
emulator: autoconfig: -sdcard /Users/mac/.Android/avd/Nexus_5X_API_23.avd/sdcard.img
emulator: Increasing RAM size to 1024MB
emulator: System image is read only
emulator: GPU emulation is disabled
emulator: Found 2 DNS servers: 75.75.75.75 75.75.76.76
emulator: trying to load skin file '/Users/mac/Library/Android/sdk/skins//nexus_5x/layout'
emulator: CPU Acceleration: working
emulator: CPU Acceleration status: HAXM version 6.0.5 (3) is installed and usable.
emulator: Adjusting Contiguous Memory Allocation of 1080x1920 framebuffer for software renderer to 16MB.
emulator: Found 2 DNS servers: 75.75.75.75 75.75.76.76
Content of hardware configuration file:
hw.cpu.Arch = x86
hw.cpu.model = qemu32
hw.cpu.ncore = 1
hw.ramSize = 1024
hw.screen = multi-touch
hw.mainKeys = false
hw.trackBall = false
hw.keyboard = true
hw.keyboard.lid = false
hw.keyboard.charmap = qwerty2
hw.dPad = false
hw.gsmModem = true
hw.gps = true
hw.battery = true
hw.accelerometer = true
hw.audioInput = true
hw.audioOutput = true
hw.sdCard = true
hw.sdCard.path = /Users/mac/.Android/avd/Nexus_5X_API_23.avd/sdcard.img
disk.cachePartition = true
disk.cachePartition.path = /Users/mac/.Android/avd/Nexus_5X_API_23.avd/cache.img
disk.cachePartition.size = 66m
hw.lcd.width = 1080
hw.lcd.height = 1920
hw.lcd.depth = 16
hw.lcd.density = 420
hw.lcd.backlight = true
hw.gpu.enabled = false
hw.gpu.mode = guest
hw.gpu.blacklisted = no
hw.initialOrientation = Portrait
hw.camera.back = emulated
hw.camera.front = emulated
vm.heapSize = 256
hw.sensors.light = true
hw.sensors.pressure = true
hw.sensors.humidity = true
hw.sensors.proximity = true
hw.sensors.magnetic_field = true
hw.sensors.orientation = true
hw.sensors.temperature = true
hw.useext4 = true
kernel.path = ./system-images/Android-23/google_apis/x86//kernel-ranchu
kernel.newDeviceNaming = yes
kernel.supportsYaffs2 = no
disk.ramdisk.path = ./system-images/Android-23/google_apis/x86//ramdisk.img
disk.systemPartition.initPath = ./system-images/Android-23/google_apis/x86//system.img
disk.systemPartition.size = 1280m
disk.dataPartition.path = /Users/mac/.Android/avd/Nexus_5X_API_23.avd/userdata-qemu.img
disk.dataPartition.size = 2g
disk.encryptionKeyPartition.path = /Users/mac/.Android/avd/Nexus_5X_API_23.avd/encryptionkey.img
avd.name = Nexus_5X_API_23
.
QEMU options list:
emulator: argv[00] = "emulator/qemu/darwin-x86_64/qemu-system-i386"
emulator: argv[01] = "-dns-server"
emulator: argv[02] = "75.75.75.75,75.75.76.76"
emulator: argv[03] = "-serial"
emulator: argv[04] = "null"
emulator: argv[05] = "-cpu"
emulator: argv[06] = "Android32"
emulator: argv[07] = "-enable-hax"
emulator: argv[08] = "-m"
emulator: argv[09] = "1024"
emulator: argv[10] = "-lcd-density"
emulator: argv[11] = "420"
emulator: argv[12] = "-kernel"
emulator: argv[13] = "./system-images/Android-23/google_apis/x86//kernel-ranchu"
emulator: argv[14] = "-initrd"
emulator: argv[15] = "./system-images/Android-23/google_apis/x86//ramdisk.img"
emulator: argv[16] = "-object"
emulator: argv[17] = "iothread,id=disk-iothread"
emulator: argv[18] = "-drive"
emulator: argv[19] = "if=none,overlap-check=none,cache=unsafe,index=0,id=system,file=/Users/mac/.Android/avd/Nexus_5X_API_23.avd/system.img.qcow2,read-only"
emulator: argv[20] = "-device"
emulator: argv[21] = "virtio-blk-pci,drive=system,iothread=disk-iothread,modern-pio-notify"
emulator: argv[22] = "-drive"
emulator: argv[23] = "if=none,overlap-check=none,cache=unsafe,index=1,id=cache,file=/Users/mac/.Android/avd/Nexus_5X_API_23.avd/cache.img.qcow2,l2-cache-size=1048576"
emulator: argv[24] = "-device"
emulator: argv[25] = "virtio-blk-pci,drive=cache,iothread=disk-iothread,modern-pio-notify"
emulator: argv[26] = "-drive"
emulator: argv[27] = "if=none,overlap-check=none,cache=unsafe,index=2,id=userdata,file=/Users/mac/.Android/avd/Nexus_5X_API_23.avd/userdata-qemu.img.qcow2,l2-cache-size=1048576"
emulator: argv[28] = "-device"
emulator: argv[29] = "virtio-blk-pci,drive=userdata,iothread=disk-iothread,modern-pio-notify"
emulator: argv[30] = "-drive"
emulator: argv[31] = "if=none,overlap-check=none,cache=unsafe,index=3,id=encrypt,file=/Users/mac/.Android/avd/Nexus_5X_API_23.avd/encryptionkey.img.qcow2,l2-cache-size=1048576"
emulator: argv[32] = "-device"
emulator: argv[33] = "virtio-blk-pci,drive=encrypt,iothread=disk-iothread,modern-pio-notify"
emulator: argv[34] = "-drive"
emulator: argv[35] = "if=none,overlap-check=none,cache=unsafe,index=4,id=sdcard,file=/Users/mac/.Android/avd/Nexus_5X_API_23.avd/sdcard.img.qcow2,l2-cache-size=1048576"
emulator: argv[36] = "-device"
emulator: argv[37] = "virtio-blk-pci,drive=sdcard,iothread=disk-iothread,modern-pio-notify"
emulator: argv[38] = "-netdev"
emulator: argv[39] = "user,id=mynet"
emulator: argv[40] = "-device"
emulator: argv[41] = "virtio-net-pci,netdev=mynet"
emulator: argv[42] = "-netdev"
emulator: argv[43] = "user,id=mynet2,net=10.0.3.0/24"
emulator: argv[44] = "-device"
emulator: argv[45] = "virtio-net-pci,netdev=mynet2"
emulator: argv[46] = "-show-cursor"
emulator: argv[47] = "-L"
emulator: argv[48] = "emulator/lib/pc-bios"
emulator: argv[49] = "-soundhw"
emulator: argv[50] = "hda"
emulator: argv[51] = "-vga"
emulator: argv[52] = "none"
emulator: argv[53] = "-append"
emulator: argv[54] = "qemu=1 androidboot.hardware=ranchu clocksource=pit Android.qemud=1 console=0 console=0 Android.checkjni=1 qemu.gles=2 qemu.encrypt=1 cma=32M ndns=2"
emulator: argv[55] = "-Android-hw"
emulator: argv[56] = "/Users/mac/.Android/avd/Nexus_5X_API_23.avd/hardware-qemu.ini"
Concatenated QEMU options:
emulator/qemu/darwin-x86_64/qemu-system-i386 -dns-server 75.75.75.75,75.75.76.76 -serial null -cpu Android32 -enable-hax -m 1024 -lcd-density 420 -kernel ./system-images/Android-23/google_apis/x86//kernel-ranchu -initrd ./system-images/Android-23/google_apis/x86//ramdisk.img -object iothread,id=disk-iothread -drive if=none,overlap-check=none,cache=unsafe,index=0,id=system,file=/Users/mac/.Android/avd/Nexus_5X_API_23.avd/system.img.qcow2,read-only -device virtio-blk-pci,drive=system,iothread=disk-iothread,modern-pio-notify -drive if=none,overlap-check=none,cache=unsafe,index=1,id=cache,file=/Users/mac/.Android/avd/Nexus_5X_API_23.avd/cache.img.qcow2,l2-cache-size=1048576 -device virtio-blk-pci,drive=cache,iothread=disk-iothread,modern-pio-notify -drive if=none,overlap-check=none,cache=unsafe,index=2,id=userdata,file=/Users/mac/.Android/avd/Nexus_5X_API_23.avd/userdata-qemu.img.qcow2,l2-cache-size=1048576 -device virtio-blk-pci,drive=userdata,iothread=disk-iothread,modern-pio-notify -drive if=none,overlap-check=none,cache=unsafe,index=3,id=encrypt,file=/Users/mac/.Android/avd/Nexus_5X_API_23.avd/encryptionkey.img.qcow2,l2-cache-size=1048576 -device virtio-blk-pci,drive=encrypt,iothread=disk-iothread,modern-pio-notify -drive if=none,overlap-check=none,cache=unsafe,index=4,id=sdcard,file=/Users/mac/.Android/avd/Nexus_5X_API_23.avd/sdcard.img.qcow2,l2-cache-size=1048576 -device virtio-blk-pci,drive=sdcard,iothread=disk-iothread,modern-pio-notify -netdev user,id=mynet -device virtio-net-pci,netdev=mynet -netdev user,id=mynet2,net=10.0.3.0/24 -device virtio-net-pci,netdev=mynet2 -show-cursor -L emulator/lib/pc-bios -soundhw hda -vga none -append 'qemu=1 androidboot.hardware=ranchu clocksource=pit Android.qemud=1 console=0 console=0 Android.checkjni=1 qemu.gles=2 qemu.encrypt=1 cma=32M ndns=2' -Android-hw /Users/mac/.Android/avd/Nexus_5X_API_23.avd/hardware-qemu.ini
emulator: Starting QEMU main loop
Hax is enabled
Hax ram_size 0x40000000
emulator: registered 'boot-properties' qemud service
emulator: Adding boot property: 'qemu.sf.fake_camera' = 'both'
emulator: Adding boot property: 'ro.opengles.version' = '131072'
emulator: Adding boot property: 'dalvik.vm.heapsize' = '256m'
emulator: Adding boot property: 'qemu.hw.mainkeys' = '0'
emulator: Adding boot property: 'qemu.adb.secure' = '1'
emulator: Adding boot property: 'qemu.sf.lcd_density' = '420'
HAX is working and emulator runs in fast virt mode.
emulator: goldfish_events.have-dpad: false
emulator: goldfish_events.have-trackball: false
emulator: goldfish_events.have-camera: true
emulator: goldfish_events.have-keyboard: true
emulator: goldfish_events.have-lidswitch: false
emulator: goldfish_events.have-touch: false
emulator: goldfish_events.have-multitouch: true
emulator: control console listening on port 5554, ADB on port 5555
Not using any http proxy
emulator: Android_hw_fingerprint_init: fingerprint qemud listen service initialized
emulator: onGuestSendCommand: [0x7f80950cdc00] Adb connected, start proxing data
**METTRE À JOUR
sortie enregistrée:
emulator: _hwFingerprint_connect: connect finger print listen is called
emulator: got message from guest system fingerprint HAL
dans les 30 dernières minutes.
Android affiche un écran lent indiquant "Démarrage d'Android Process", puis 30 minutes plus tard, un écran figé indiquant que l'interface utilisateur du système ne répond pas est masqué par une boîte de dialogue de débogage. Voir les images. Lorsque je clique, l'interface utilisateur ne répond pas et les journaux n'enregistrent rien au-delà de ce que j'ai posté.
Avez-vous installé Docker pour Mac par hasard? Je faisais juste face au même problème et l'arrêt de Docker a résolu le problème ...
Vous pouvez également essayer de lancer l'émulateur à partir de la ligne de commande.
Si vous rencontrez des problèmes, vous pouvez partager le résultat de la dernière commande. La valeur de l'environnement Android_SDK_ROOT doit pointer sur l'emplacement du SDK Android. Vous pouvez le trouver dans Android studio sous le menu Outils-> Gestionnaire SDK.
Voici ce qui a finalement fonctionné pour moi:
Dans Android Studio (Mac OS X), ouvrez AVD Manager. Cliquez sur le triangle pointant vers le bas sur le périphérique virtuel Android incriminé pour afficher un menu déroulant. Ensuite, frappez Delete
avec une grande vengeance et une colère furieuse .
Cela fait, cliquez sur + Create Virtual Device…
. Laissez la plupart des paramètres par défaut, puis lancez votre nouvel appareil virtuel comme s'il s'agissait d'un délicieux hamburger.
Espérons que cela fonctionnera pour vous aussi. ^^
Celui-ci a fonctionné pour moi
Sur mon ancien Mac (mi-2010 2,8Ghz i5), j'ai eu le même problème et je souhaite partager ma solution avec la communauté pour une utilisation future:
Une autre option si l’émulateur se bloque juste avant de lancer la fenêtre principale sur mac: comme indiqué dans varun , Docker sera l’un des coupables et quelque chose qui utilise vcpu, dans mon cas, Virtualbox. Assurez-vous de tuer tous les processus vbox ....
Pour moi, changer le 'Graphisme' de 'Automatique' en 'Logiciel - GLES 2.0' dans la Configuration du périphérique virtuel, s’est bien déroulé sur mon macOS Sierra