此缺陷已被互联网上的多位作者报告(参见https://medium.com/@BushMinusZero/cuttlefish-on-arm64-in-aws-b1f60d937614和https://junsun.net/wordpress/ tag/cuttlefish/ ),我自己也遇到了同样的问题。
重现:
我附上墨鱼日志以供参考:
屏幕输出:
~/work/avd$ HOME=$PWD ./bin/launch_cvd --daemon --start_webrtc=true
===================================================================
NOTICE:
By using this Android Virtual Device, you agree to
Google Terms of Service (https://policies.google.com/terms).
The Google Privacy Policy (https://policies.google.com/privacy)
describes how Google handles information generated as you use
Google Services.
===================================================================
launch_cvd I 03-27 08:03:20 2881 2881 main.cc:312] Host changed from last run: 0
assemble_cvd D 03-27 08:03:20 3103 3103 fetcher_config.cpp:220] Could not find file ending in kernel
assemble_cvd D 03-27 08:03:20 3103 3103 fetcher_config.cpp:220] Could not find file ending in initramfs.img
assemble_cvd I 03-27 08:03:20 3103 3103 config_flag.cpp:153] Launching CVD using --config='phone'.
assemble_cvd D 03-27 08:03:20 3103 3103 subprocess.cpp:333] Started (pid: 3106): /home/ubuntu/work/avd/bin/extract-ikconfig
assemble_cvd D 03-27 08:03:20 3103 3103 subprocess.cpp:335] /home/ubuntu/work/avd/boot.img
assemble_cvd D 03-27 08:03:21 3103 3103 subprocess.cpp:333] Started (pid: 3114): /home/ubuntu/work/avd/bin/unpack_bootimg
assemble_cvd D 03-27 08:03:21 3103 3103 subprocess.cpp:335] --boot_img
assemble_cvd D 03-27 08:03:21 3103 3103 subprocess.cpp:335] /home/ubuntu/work/avd/boot.img
assemble_cvd D 03-27 08:03:21 3103 3103 subprocess.cpp:335] --out
assemble_cvd D 03-27 08:03:21 3103 3103 subprocess.cpp:335] /tmp/RXHefo
Failed to load library: libEGL.so
Failed to load library: libEGL.so
Failed to wait for subprocess: subprocess terminated by signal 11.
Failed to wait for subprocess: subprocess terminated by signal 11.
GPU auto mode: did not detect prerequisites for accelerated rendering support, enabling --gpu_mode=guest_swiftshader.
The following files contain useful debugging information:
Logcat output: /home/ubuntu/work/avd/cuttlefish/instances/cvd-1/logs/logcat
Kernel log: /home/ubuntu/work/avd/cuttlefish/instances/cvd-1/kernel.log
Point your browser to https://localhost:8443 to interact with the device.
Launcher log: /home/ubuntu/work/avd/cuttlefish/instances/cvd-1/logs/launcher.log
Instance configuration: /home/ubuntu/work/avd/cuttlefish/instances/cvd-1/cuttlefish_config.json
Virtual device booted successfully
VIRTUAL_DEVICE_BOOT_COMPLETED
日志:https://drive.google.com/drive/folders/1JAPyCzKq3PNnenXXrVqUZ7pNKDoxFDUu?usp=sharing
我认为错误与此输出有关
Failed to load library: libEGL.so
,所以我尝试通过从https://android.googlesource.com/platform/prebuilts/android-emulator-build/common/+/emu 下载工件来修复它-master-dev/swiftshader/linux-aarch64/lib 并将它们放入 avd/bin
目录。我发现 HOME=$PWD strace -f -v -s150 ./bin/launch_cvd --daemon --start_webrtc=true 2>&1 | fgrep libEGL.so
Cuttlefish 确实在那里寻找工件,而不是系统目录。
我还从源代码构建了基于 Messa
llvmpipe
的软件渲染器,并将其安装在主机系统上。 libEGL.so
错误无法通过上述任何一种方式解决。
请建议我还能尝试什么。