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: - aosp_x86_64-userdebug - aosp_x86_64-eng - aosp_arm64-eng - sdk_phone_arm64-userdebug - aosp_tv_arm64-eng Branches: - mainline - android11_r37 Machines/architectures - macOS BigSur, M1 (aarm64) 16GB - macOS BigSur, Intel (x86_64) 32GB 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-building@googlegroups.com To unsubscribe from this group, send email to android-building+unsubscr...@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-building+unsubscr...@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.