I'm newer to AOSP building, but now have successfully built various AOSP build configurations, but never been able to boot a built image. I'm on macOS (BigSur). Any insights/gotchas would be super helpful.
I mainly use a M1 mac (aarm64), but have also tried on an Intel (x86_64), tried multiple image builds on each, but same result - black screen on boot. ADB show the emulator as offline once launched so it doesn't seem to be specific to a graphical issue more likely a boot.
What I have tried the following builds:
Branches:
Machines/architectures
Building AOSP is not a problem, except when it comes to the M1 and needing the 11.x MacOSSDK. I was able to patch the build in necessary places to build to completion - this is all in build/soong so it's not the actual AOSP code needing a change.
I have also tried various GPU options when launching the emulator in case of graphical rendering issues. There's some hiccups with CoreAudio not initializing on the M1 Mac, but disabling audio (-noaudio) gets around this.
As far as I can tell nothing is wrong from using -debug-init and -verbose emulator flags. All the image files are there, as far as I can tell
Here's the log of the latest M1 build using aosp_tv_arm64-eng:
emulator: Android emulator version 30.3.5.0 (build_id 7036990) (CL:N/A)
emulator: Found ANDROID_PRODUCT_OUT: /Volumes/android/out/target/product/generic_arm64
emulator: Found build target architecture: arm64
emulator: argv[0]: '/Users/builduser/Downloads/Android Emulator.app/Contents/MacOS/emulator/emulator'; program directory: '/Users/builduser/Downloads/Android Emulator.app/Contents/MacOS/emulator'
emulator: emuDirName: '/Users/builduser/Downloads/Android Emulator.app/Contents/MacOS/emulator'
emulator: try dir /Users/builduser/Downloads/Android Emulator.app/Contents/MacOS/emulator
emulator: Trying emulator path '/Users/builduser/Downloads/Android Emulator.app/Contents/MacOS/emulator/qemu/darwin-aarch64/qemu-system-aarch64'
emulator: Found target-specific 64-bit emulator binary: /Users/builduser/Downloads/Android Emulator.app/Contents/MacOS/emulator/qemu/darwin-aarch64/qemu-system-aarch64
emulator: Adding library search path: '/Users/builduser/Downloads/Android Emulator.app/Contents/MacOS/emulator/lib64'
emulator: Adding library search path: '/Users/builduser/Downloads/Android Emulator.app/Contents/MacOS/emulator/lib64/gles_angle'
emulator: Adding library search path: '/Users/builduser/Downloads/Android Emulator.app/Contents/MacOS/emulator/lib64/gles_angle9'
emulator: Adding library search path: '/Users/builduser/Downloads/Android Emulator.app/Contents/MacOS/emulator/lib64/gles_angle11'
emulator: Adding library search path: '/Users/builduser/Downloads/Android Emulator.app/Contents/MacOS/emulator/lib64/gles_swiftshader'
emulator: Adding library search path for Qt: '/Users/builduser/Downloads/Android Emulator.app/Contents/MacOS/emulator/lib64/qt/lib'
emulator: Silencing all qWarning(); use qCWarning(...) instead: QT_LOGGING_RULES=default.warning=false
emulator: Setting Qt plugin search path: QT_QPA_PLATFORM_PLUGIN_PATH=/Users/builduser/Downloads/Android Emulator.app/Contents/MacOS/emulator/lib64/qt/plugins
emulator: Setting Qt to use software OpenGL: QT_OPENGL=software
emulator: Setting QML to use software QtQuick2D: QMLSCENE_DEVICE=softwarecontext
emulator: Overriding pre-existing bad Qt high dpi settings...
emulator: Running :/Users/builduser/Downloads/Android Emulator.app/Contents/MacOS/emulator/qemu/darwin-aarch64/qemu-system-aarch64
emulator: qemu backend: argv[00] = "/Users/builduser/Downloads/Android Emulator.app/Contents/MacOS/emulator/qemu/darwin-aarch64/qemu-system-aarch64"
emulator: qemu backend: argv[01] = "-noaudio"
emulator: qemu backend: argv[02] = "-verbose"
emulator: Concatenated backend parameters:
'/Users/builduser/Downloads/Android Emulator.app/Contents/MacOS/emulator/qemu/darwin-aarch64/qemu-system-aarch64' -noaudio -verbose
emulator: found Android build root: /Volumes/android/out/target/product/generic_arm64
emulator: found Android build out: /Volumes/android/out/target/product/generic_arm64
emulator: Cannot find boot properties file: /Volumes/android/out/target/product/generic_arm64/boot.prop
emulator: Found target API sdkVersion: 30
emulator: Invalid int property: 'ro.build.version.incremental:eng.paulba.20210518.135049'
emulator: autoconfig: -skin HVGA
emulator: autoconfig: -skindir (null)
emulator: autoconfig: -kernel /Volumes/android/out/target/product/generic_arm64/kernel-ranchu
emulator: Target arch = 'arm64'
emulator: Auto-detect: Kernel image requires new device naming scheme.
emulator: Auto-detect: Kernel does not support YAFFS2 partitions.
emulator: autoconfig: -ramdisk /Volumes/android/out/target/product/generic_arm64/ramdisk.img
emulator: autoconfig: -sysdir /Volumes/android/out/target/product/generic_arm64
emulator: Using initial system image: /Volumes/android/out/target/product/generic_arm64/system.img
emulator: system partition size adjusted to match image file (1055 MB > 800 MB)
emulator: Using initial vendor image: /Volumes/android/out/target/product/generic_arm64/vendor.img
emulator: autoconfig: -data /Volumes/android/out/target/product/generic_arm64/userdata-qemu.img
emulator: autoconfig: -initdata /Volumes/android/out/target/product/generic_arm64/userdata.img
emulator: autoconfig: -cache /Volumes/android/out/target/product/generic_arm64/cache.img
emulator: INFO: ignore sdcard for arm at api level >= 30
emulator: Physical RAM size: 2048MB
emulator: VM heap size 0MB is below hardware specified minimum of 512MB,setting it to that value
emulator: System image is read only
emulator: autoconfig: -no-snapshot from AVD config.ini
emulator: Found 1 DNS servers: 192.168.4.1
emulator: skin name 'HVGA' aliased to '320x480'
emulator: found magic skin width=320 height=480 bpp=16
emulator: registered 'boot-properties' qemud service
emulator: Adding boot property: 'qemu.cmdline' = 'androidboot.logcat=v:* androidboot.consolepipe=qemu_pipe,pipe:logcat'
emulator: Adding boot property: 'qemu.logcat' = 'start'
emulator: WARNING: encryption is off
emulator: CPU Acceleration: working
emulator: CPU Acceleration status: Hypervisor.Framework OS X Version 11.4
handleCpuAcceleration: feature check for hvf
emulator: VERBOSE: AdbInterface.cpp:356: no root specified:
emulator: VERBOSE: AdbInterface.cpp:356: no root specified:
emulator: VERBOSE: AdbInterface.cpp:386: Found: 1 adb executables
emulator: VERBOSE: AdbInterface.cpp:388: Adb: /Volumes/android/out/soong/host/darwin-x86/bin/adb
emulator: VERBOSE: AdbInterface.cpp:410: Path:/Volumes/android/out/soong/host/darwin-x86/bin/adb protocol version: 41
emulator: GPU emulation enabled using 'host' mode
emulator: Initializing hardware OpenGLES emulation support
emulator: VERBOSE: MultiDisplay.cpp:325: create display 0
emulator: VERBOSE: MultiDisplay.cpp:414: setDisplayPose 0 x 0 y 0 w 320 h 480 dpi 0
cannot add library /Users/builduser/Downloads/Android Emulator.app/Contents/MacOS/emulator/qemu/darwin-aarch64/lib64/vulkan/libvulkan.dylib: failed
cannot add library /Users/builduser/Downloads/Android Emulator.app/Contents/MacOS/emulator/lib64/vulkan/libvulkan.dylib: failed
cannot add library /Users/builduser/Downloads/Android Emulator.app/Contents/MacOS/emulator/qemu/darwin-aarch64/lib64/vulkan/libMoltenVK.dylib: failed
added library /Users/builduser/Downloads/Android Emulator.app/Contents/MacOS/emulator/lib64/vulkan/libMoltenVK.dylib
[mvk-info] MoltenVK version 1.1.1. Vulkan version 1.1.154.
The following 70 Vulkan extensions are supported:
(Elided for brevity)
[mvk-info] Created VkInstance with the following 0 Vulkan extensions enabled:
[mvk-info] Using MTLFence for Vulkan semaphores.
[mvk-info] Created VkDevice to run on GPU Apple M1 with the following 0 Vulkan extensions enabled:
emulator: VERBOSE: load_config.cpp:242: Verified boot params were not found.
emulator: INFO: ignore sdcard for arm at api level >= 30
emulator: Found 1 DNS servers: 192.168.4.1
Content of hardware configuration file:
hw.cpu.arch = arm64
hw.cpu.ncore = 2
hw.ramSize = 2048
(Elided for brevity)
.
QEMU options list:
emulator: argv[00] = "/Users/builduser/Downloads/Android Emulator.app/Contents/MacOS/emulator/qemu/darwin-aarch64/qemu-system-aarch64"
emulator: argv[01] = "-dns-server"
emulator: argv[02] = "192.168.4.1"
emulator: argv[03] = "-no-audio"
emulator: argv[04] = "-serial"
emulator: argv[05] = "null"
emulator: argv[06] = "-cpu"
emulator: argv[07] = "cortex-a53"
emulator: argv[08] = "-machine"
emulator: argv[09] = "type=virt"
emulator: argv[10] = "-enable-hvf"
emulator: argv[11] = "-smp"
emulator: argv[12] = "cores=2"
emulator: argv[13] = "-m"
emulator: argv[14] = "2048"
emulator: argv[15] = "-lcd-density"
emulator: argv[16] = "320"
emulator: argv[17] = "-nodefaults"
emulator: argv[18] = "-kernel"
emulator: argv[19] = "/Volumes/android/out/target/product/generic_arm64/kernel-ranchu"
emulator: argv[20] = "-initrd"
emulator: argv[21] = "/Volumes/android/out/target/product/generic_arm64/ramdisk.img"
emulator: argv[22] = "-drive"
emulator: argv[23] = "index=0,id=vendor,if=none,file=/Volumes/android/out/target/product/generic_arm64/vendor.img,read-only"
emulator: argv[24] = "-device"
emulator: argv[25] = "virtio-blk-device,drive=vendor"
emulator: argv[26] = "-drive"
emulator: argv[27] = "index=1,id=userdata,if=none,file=/Volumes/android/out/target/product/generic_arm64/userdata-qemu.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576"
emulator: argv[28] = "-device"
emulator: argv[29] = "virtio-blk-device,drive=userdata"
emulator: argv[30] = "-drive"
emulator: argv[31] = "index=2,id=cache,if=none,file=/Volumes/android/out/target/product/generic_arm64/cache.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576"
emulator: argv[32] = "-device"
emulator: argv[33] = "virtio-blk-device,drive=cache"
emulator: argv[34] = "-drive"
emulator: argv[35] = "index=3,id=system,if=none,file=/Volumes/android/out/target/product/generic_arm64/system.img,read-only"
emulator: argv[36] = "-device"
emulator: argv[37] = "virtio-blk-device,drive=system"
emulator: argv[38] = "-netdev"
emulator: argv[39] = "user,id=mynet"
emulator: argv[40] = "-device"
emulator: argv[41] = "virtio-net-device,netdev=mynet"
emulator: argv[42] = "-device"
emulator: argv[43] = "virtio-rng-device"
emulator: argv[44] = "-show-cursor"
emulator: argv[45] = "-L"
emulator: argv[46] = "/Users/builduser/Downloads/Android Emulator.app/Contents/MacOS/emulator/lib/pc-bios"
emulator: argv[47] = "-soundhw"
emulator: argv[48] = "hda"
emulator: argv[49] = "-append"
emulator: argv[50] = "qemu=1 no_timer_check androidboot.hardware=ranchu androidboot.serialno=EMULATOR30X3X5X0 keep_bootcon earlyprintk=ttyAMA0 android.qemud=1 console=0 android.checkjni=1 qemu.gles=1 qemu.settings.system.screen_off_timeout=2147483647 qemu.vsync=60 qemu.gltransport=pipe qemu.gltransport.drawFlushInterval=800 qemu.opengles.version=196608 qemu.uirenderer=skiagl cma=260M@0-4G loop.max_part=7 androidboot.boot_devices=a003800.virtio_mmio qemu.dalvik.vm.heapsize=512m qemu.camera_protocol_ver=1 printk.devkmsg=on"
emulator: argv[51] = "-android-hw"
emulator: argv[52] = "/Volumes/android/out/target/product/generic_arm64/hardware-qemu.ini"
Concatenated QEMU options:
'/Users/builduser/Downloads/Android Emulator.app/Contents/MacOS/emulator/qemu/darwin-aarch64/qemu-system-aarch64' -dns-server 192.168.4.1 -no-audio -serial null -cpu cortex-a53 -machine type=virt -enable-hvf -smp cores=2 -m 2048 -lcd-density 320 -nodefaults -kernel /Volumes/android/out/target/product/generic_arm64/kernel-ranchu -initrd /Volumes/android/out/target/product/generic_arm64/ramdisk.img -drive index=0,id=vendor,if=none,file=/Volumes/android/out/target/product/generic_arm64/vendor.img,read-only -device virtio-blk-device,drive=vendor -drive index=1,id=userdata,if=none,file=/Volumes/android/out/target/product/generic_arm64/userdata-qemu.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576 -device virtio-blk-device,drive=userdata -drive index=2,id=cache,if=none,file=/Volumes/android/out/target/product/generic_arm64/cache.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576 -device virtio-blk-device,drive=cache -drive index=3,id=system,if=none,file=/Volumes/android/out/target/product/generic_arm64/system.img,read-only -device virtio-blk-device,drive=system -netdev user,id=mynet -device virtio-net-device,netdev=mynet -device virtio-rng-device -show-cursor -L '/Users/builduser/Downloads/Android Emulator.app/Contents/MacOS/emulator/lib/pc-bios' -soundhw hda -append 'qemu=1 no_timer_check androidboot.hardware=ranchu androidboot.serialno=EMULATOR30X3X5X0 keep_bootcon earlyprintk=ttyAMA0 android.qemud=1 console=0 android.checkjni=1 qemu.gles=1 qemu.settings.system.screen_off_timeout=2147483647 qemu.vsync=60 qemu.gltransport=pipe qemu.gltransport.drawFlushInterval=800 qemu.opengles.version=196608 qemu.uirenderer=skiagl cma=260M@0-4G loop.max_part=7 androidboot.boot_devices=a003800.virtio_mmio qemu.dalvik.vm.heapsize=512m qemu.camera_protocol_ver=1 printk.devkmsg=on' -android-hw /Volumes/android/out/target/product/generic_arm64/hardware-qemu.ini
emulator: Android qemu version 30.3.5.0 (build_id 7036990) (CL:N/A)
emulator: Starting QEMU main loop
emulator: Adding boot property: 'ro.opengles.version' = '196608'
emulator: Adding boot property: 'qemu.sf.fake_camera' = 'none'
emulator: Adding boot property: 'dalvik.vm.heapsize' = '512m'
emulator: Adding boot property: 'qemu.hw.mainkeys' = '0'
emulator: Adding boot property: 'qemu.sf.lcd_density' = '320'
emulator: goldfish_events.have-dpad: false
emulator: goldfish_events.have-trackball: true
emulator: goldfish_events.have-camera: false
emulator: goldfish_events.have-keyboard: true
emulator: goldfish_events.have-lidswitch: false
emulator: goldfish_events.have-tabletmode: 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: Adding boot property: 'qemu.timezone' = 'America/Los_Angeles'
emulator: android_hw_fingerprint_init: fingerprint qemud listen service initialized
emulator: INFO: GrpcServices.cpp:288: Started GRPC server at 127.0.0.1:8554, security: Local
emulator: emulator_window_fb_rotate
emulator: OpenGL Vendor=[Google (Apple)]
emulator: OpenGL Renderer=[Android Emulator OpenGL ES Translator (Apple M1)]
emulator: OpenGL Version=[OpenGL ES 3.0 (4.1 Metal - 71.6.2)]
Any insight into why I'm not getting the emulator to boot the image?
--
--
You received this message because you are subscribed to the "Android Building" mailing list.
To post to this group, send email to android-...@googlegroups.com
To unsubscribe from this group, send email to
android-buildi...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-building?hl=en
---
You received this message because you are subscribed to the Google Groups "Android Building" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-buildi...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/android-building/9713650f-ee00-4c78-987b-d65444581668n%40googlegroups.com.