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果然可以成功启动模拟器。