我正在尝试为aosp_source代码运行仿真器:a​​rm64目标。 我已经从android AOSP master下载了源代码,并构建了android镜像。

每次我尝试启动模拟器时,它都会挂在android徽标屏幕上。它永远不会引导到主屏幕。

我按照以下步骤构建源代码:

  1. =>源build / envsetup.sh
  2. =>午餐aosp_arm64-eng
  3. =>使-j24
  4. =>模拟器

连接的设备列表 adb服务器版本(40)与该客户端(39)不匹配;杀死... *守护程序成功启动* emulator-5554设备

我什至可以在主机上的adb设备列表中看到该仿真器,但是仿真器屏幕仅弹出带有“ android”徽标的屏幕。即使经过很长时间也无法启动到主菜单 我尝试使用“ emulator -verbose”运行,但我仅获得以下调试日志:

emulator: Starting QEMU main loop                                                                                                  
emulator: registered 'boot-properties' qemud service    
...
VERBOSE: AdbHostServer.cpp:49: Send [0012host:emulator:5555] to adb daemon.
emulator: WARNING: Ignoring invalid http proxy: Bad format: invalid port number (must be decimal)
VERBOSE: AdbHostServer.cpp:49: Send [0012host:emulator:5555] to adb daemon.
emulator: onGuestSendCommand: [0x5313d60] Adb connected, start proxing data
emulator: 'magic' skin format detected: 480x800
emulator: WARNING: UpdateCheck: Failure: Error
emulator: WARNING: UpdateCheck: failed to get the latest version, skipping check (current version '28.0.15-5109391')

感谢您有任何帮助启动ARM仿真器吗?

最佳答案

在执行以下步骤后,我遇到了相同的错误:

  1. 向下AOSP android 9.0.0_r9
  2. 午餐aosp_arm64-eng
  3. 使-j8
  4. 仿真器
附加的adb服务器版本(40)的设备列表与此客户端(39)不匹配;正在杀死... *守护程序已成功启动* emulator-5554设备

对于这个问题,我通过使用aosp / out / host / linux-x86 / bin / adb而不是其他adb来解决。

对于“ android”徽标界面,

亚行外壳
logcat -v线程时间-b全部

它表明Surfaceflinger反复崩溃,我不知道为什么。

07-04 12:41:26.016 2288 2288 F调试:*** *** *** *** *** *** *** *** *** *** *** * ** *** *** ***
07-04 12:41:26.018 2288 2288 F调试:ABI:'arm64'
07-04 12:41:26.018 2288 2288 F调试:pid:2140,tid:2140,名称:surfaceflinger >>> / system / bin / surfaceflinger con
st&,std :: __ 1 :: function const&)>)+ 968)
07-04 12:41:26.151 2288 2288 F调试:#03 pc 00000000000340c4 /system/lib64/android.hardware.graphics.composer@2.1.so(android :: hardware :: graphics :: composer :: V2_1 :: BpHwComposer
客户端:: executeCommands(unsigned int,android :: hardware :: hidl_vec const&,std :: __ 1 :: function const&)> 160)
07-04 12:41:26.151 2288 2288 F调试:#04 pc 000000000006bbc4 /system/lib64/libsurfaceflinger.so(android :: Hwc2 :: impl :: Composer :: execute()+ 1576)
07-04 12:41:26.151 2288 2288 F调试:#05 pc 000000000006d93c /system/lib64/libsurfaceflinger.so(android :: Hwc2 :: impl :: Composer :: validateDisplay(unsigned long,unsigned int *,u
nsigned int *)+ 240)
07-04 12:41:26.152 2288 2288 F调试:#06 pc 000000000007733c /system/lib64/libsurfaceflinger.so(HWC2 :: Display :: validate(unsigned int *,unsigned int *)+ 68)
07-04 12:41:26.152 2288 2288 F调试:#07 pc 000000000007d1ec /system/lib64/libsurfaceflinger.so(android :: HWComposer :: prepare(android :: DisplayDevice&)+ 220)
07-04 12:41:26.152 2288 2288 F调试:#08 pc 0000000000068ea8 /system/lib64/libsurfaceflinger.so(android :: DisplayDevice :: prepareFrame(android :: HWComposer&)+ 32)
07-04 12:41:26.152 2288 2288 F调试:#09 pc 00000000000a7ed4 /system/lib64/libsurfaceflinger.so(android :: SurfaceFlinger :: handleMessageRefresh()+ 1548)
07-04 12:41:26.153 2288 2288 F调试:#10 pc 00000000000a7824 /system/lib64/libsurfaceflinger.so(android :: SurfaceFlinger :: onMessageReceived(int)+3832)
07-04 12:41:26.153 2288 2288 F调试:#11 pc 0000000000013fbc /system/lib64/libutils.so(android :: Looper :: pollInner(int)+336)
07-04 12:41:26.153 2288 2288 F调试:#12 pc 0000000000013dd0 /system/lib64/libutils.so(android :: Looper :: pollOnce(int,int *,int *,void **)+ 60)
07-04 12:41:26.153 2288 2288 F调试:#13 pc 0000000000097f8c /system/lib64/libsurfaceflinger.so(android :: impl :: MessageQueue :: waitMessage()+ 84)
07-04 12:41:26.154 2288 2288 F调试:#14 pc 00000000000a6040 /system/lib64/libsurfaceflinger.so(android :: SurfaceFlinger :: run()+ 20)
07-04 12:41:26.154 2288 2288 F调试:#15 pc 00000000000031ac / system / bin / surfaceflinger(main + 936)
07-04 12:41:26.154 2288 2288 F调试:#16 pc 00000000000aca4c /system/lib64/libc.so(__libc_init + 88)

使用堆栈转储详细信息后,它显示: