为了熟悉 AOSP,我的目标是按照官方文档构建一个映像并在模拟器上运行它。
设置 Ubuntu 16.04 VM 后,我使用以下命令:
repo init -u https://android.googlesource.com/platform/manifest
repo sync
source build/envsetup.sh
lunch full-eng
make -j8
emulator
编译工作正常,模拟器启动,但屏幕保持空白。控制台中没有特定的错误跟踪。
我在没有任何专有二进制文件的情况下尝试了它,也尝试了 Nexus 5 二进制文件,但它没有改变任何东西。
我也尝试过
lunch aosp_arm-eng
但结果相同。
我错过了什么?
我可以成功
shell
进入模拟器。在 dmesg
输出中,我注意到以下错误痕迹:
[ 23.952504] init: Failed to bind socket 'pdx/system/vr/display/client': No such file or directory
[ 23.954517] init: Failed to bind socket 'pdx/system/vr/display/manager': No such file or directory
[ 23.956460] init: Failed to bind socket 'pdx/system/vr/display/vsync': No such file or directory
service list
命令的输出是:
generic:/ # service list
Found 10 services:
0 media.resource_manager: []
1 media.player: []
2 media.camera: []
3 media.sound_trigger_hw: []
4 media.radio: []
5 media.aaudio: []
6 media.audio_policy: []
7 netd: []
8 media.audio_flinger: []
9 batteryproperties: [android.os.IBatteryPropertiesRegistrar]
我知道这可能已经死了,但我想我应该发布供其他人找到。
我也有类似的问题,我通过运行修复了它:
cd aospDir
source build/envsetup.sh
lunch sdk_phone_x86_64
m -j16 # builds using 16 cores
完成后:
adb start-service
emulator
对我来说,这是 adb 未启动的问题。
针对 aosp_x86_64 或 arm 构建。那么应该可以工作了!其他图像不再支持在模拟器上运行。它们适用于各自的设备。 arm 和 x86/x86_64 应该在模拟器上工作,因为它们本质上是通用的。
编辑:刚刚看到您尝试运行 aosp_arm_eng,在这种情况下,您介意在使用以下命令运行模拟器后发布结果吗?
$ 模拟器-详细