ubuntu AOSP错误:Dex2oat无法编译 Boot 映像,可能是 Boot 类路径不一致

1mrurvl1  于 2023-10-17  发布在  其他
关注(0)|答案(2)|浏览(452)

我正在尝试构建Android 12。我使用的是Ubuntu 22.04.2,它工作得很好。现在我安装了一个新的Ubuntu 22.04.3,它使用了一个新的内核,我开始得到这个错误:
错误:Dex 2 oat无法编译 Boot 映像。可能是 Boot 类路径不一致。请使用ART_BOOT_IMAGE_EXTRA_ARGS="--runtime-arg -verbose:verifier”重建以查看验证错误。
我已经看到了这个类似的问题Android dex2oat build:ERROR: Dex2oat failed to compile a boot image-没有什么工作,我从这个线程
1.已尝试使用其他标志运行生成:ALLOW_MISSING_DEPENDENCIES=true WITH_DEXPREOPT=false ART_BOOT_IMAGE_EXTRA_ARGS="--runtime-arg -verbose:verifier" m -j4
1.已尝试删除art/build/Android.bp(https://i.stack.imgur.com/39O63.png)中的标志(“-msse4.2”和“-mpopcnt”)

mgdq6dx1

mgdq6dx11#

因此,经过一些挖掘AOSP代码,我想出了这个变通办法。请注意,我不认为这是一个解决方案-只是一个变通办法。基本上,它指出在构建脚本中WITH_DEXPREOPT被覆盖。在我的AOSP版本中,它位于build/core/board_config. xml中。
解决方法:
1.在build/core/board_config.mk中,将WITH_DEXPREOPT设置为false build/core/board_config.mk
1.通过删除$(call pretty-error, DEXPREOPT must be enabled for user and userdebug builds)build/core/dex_preopt_config.mk来消除build/core/dex_preopt_config.mk中的错误

bfrts1fy

bfrts1fy2#

看起来,在Ubuntu 22.04 LTS中,内核版本6.x.x会产生一些问题,或者它与构建系统不兼容。当我将构建机器的内核版本降级到:5.15.0-84-通用)。看看这里:https://stackoverflow.com/a/77203755/6037446

相关问题