Android-S模拟器

0 前言

    参考资料[1]基于Android-P对Emulator的使用进行了说明,Android-S情况有变,因此撰写本文进行记录。

1 编译

    根据参考资料[1]的方法编译“aosp_x86_64-eng”,完成后执行emulator无法正常进入模拟器,终端提示如下:

emulator: Android emulator version 30.8.3.0 (build_id 7595944) (CL:N/A)
2022-06-29 08:51:09.949 bluetooth - /buildbot/src/android/emu-master-dev/system/bt/vendor_libs/test_vendor_lib/model/setup/device_boutique.cc:33 - Register: Registering beacon_swarm
2022-06-29 08:51:09.950 bluetooth - /buildbot/src/android/emu-master-dev/system/bt/vendor_libs/test_vendor_lib/model/setup/device_boutique.cc:33 - Register: Registering beacon
2022-06-29 08:51:09.950 bluetooth - /buildbot/src/android/emu-master-dev/system/bt/vendor_libs/test_vendor_lib/model/setup/device_boutique.cc:33 - Register: Registering scripted_beacon
2022-06-29 08:51:09.950 bluetooth - /buildbot/src/android/emu-master-dev/system/bt/vendor_libs/test_vendor_lib/model/setup/device_boutique.cc:33 - Register: Registering remote_loopback
2022-06-29 08:51:09.950 bluetooth - /buildbot/src/android/emu-master-dev/system/bt/vendor_libs/test_vendor_lib/model/setup/device_boutique.cc:33 - Register: Registering car_kit
2022-06-29 08:51:09.950 bluetooth - /buildbot/src/android/emu-master-dev/system/bt/vendor_libs/test_vendor_lib/model/setup/device_boutique.cc:33 - Register: Registering classic
2022-06-29 08:51:09.950 bluetooth - /buildbot/src/android/emu-master-dev/system/bt/vendor_libs/test_vendor_lib/model/setup/device_boutique.cc:33 - Register: Registering sniffer
2022-06-29 08:51:09.950 bluetooth - /buildbot/src/android/emu-master-dev/system/bt/vendor_libs/test_vendor_lib/model/setup/device_boutique.cc:33 - Register: Registering keyboard
emulator: WARNING: encryption is off
handleCpuAcceleration: feature check for hvf
cannot add library prebuilts/android-emulator/linux-x86_64/qemu/linux-x86_64/lib64/vulkan/libvulkan.so: failed
added library prebuilts/android-emulator/linux-x86_64/lib64/vulkan/libvulkan.so
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

qemu-system-x86_64: Could not open 'out/target/product/generic_x86_64/userdata-qemu.img': No such file or directory

    根据参考资料[2][3]的提示,编译“aosp_x86_64-eng”不会生成qemu所需镜像,需编译SDK[4]:

lunch sdk_x86_64              # [2]
# or
lunch sdk_phone_x86_64        # [3]

    上述combo默认不会显示到Lunch menu中,根据参考资料[5]的提示,可仿照原有menu,将上述combo也添加进入:

COMMON_LUNCH_CHOICES := \
    aosp_arm64-eng \
    aosp_arm-eng \ 
    aosp_x86_64-eng \
    aosp_x86-eng \
    sdk_x86_64-eng \              # Added by OneSea
    sdk_phone_x86_64-eng \        # Added by OneSea
    sdk_x86_64-userdebug \        # Added by OneSea
    sdk_phone_x86_64-userdebug    # Added by OneSea
# @file: build/make/target/product/AndroidProducts.mk

    无论是sdk_x86_64-eng还是sdk_phone_x86_64,编译结果目录都是out/target/product/emulator_x86_64,执行emulator果然可以成功启动模拟器。

参考资料

[1]Android-P Emulator

[2]aosp 12 编译后无法启动模拟器问题

[3]Ubuntu 20.04编译AOSP 并启动模拟器

[4]Android源码编译SDK

[5]android 12 源码编译与虚拟机调试


版权声明:本文为Q1302182594原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。