Я пытаюсь собрать AOSP 8, в частности собрать android-8.0.0_r22, используя обед 31.
Примерно на полпути сборки я столкнулся с какой-то ошибкой, из-за которой не удалось найти каталог ANDROID_DATA.
Ошибка одинакова при запуске make на моем компьютере под управлением Ubuntu 22.04, а также при запуске сборки в предоставленном док-контейнере под управлением Ubuntu 14.04 Настройка разработки AOSP для 2.3-8.0. Возможно, моя проблема связана с настройкой, но я старался внимательно следовать инструкциям.
Моя проблема аналогична другой публикации SO Проблема компиляции AOSP с Ubuntu.
Разделы журнала, которые (я думаю) имеют отношение к делу, следующие:
me@0827a715fc7f:/src$ m -j1
make: Entering directory `/src'
============================================
...
PLATFORM_VERSION=8.0.0
...
HOST_OS_EXTRA=Linux-6.5.0-21-generic-x86_64-with-Ubuntu-14.04-trusty
...
============================================
...
[ 0% 2/30419] build out/target/pr...termediates/oat/arm64/package.odex
FAILED: out/target/product/taimen/obj/APPS/KeyChain_intermediates/oat/ar
m64/package.odex
...
dex2oatd F 04-01 17:37:21 1279 1279 utils.cc:761] ANDROID_DATA not set
and /data does not exist
Часть трассировки стека:
native: #05 pc 00000000005ea3c9 /src/out/host/linux-x86/lib64/libartd
.so (art::GetAndroidDir(char const*, char const*)+233)
native: art::GetAndroidDir(char const*, char const*)
native: art/runtime/utils.cc:761
native: #06 pc 00000000005ea82f /src/out/host/linux-x86/lib64/libartd
.so (art::GetDalvikCache(char const*)+63)
native: art::GetAndroidData()
native: art/runtime/utils.cc:775
native: art::GetDalvikCache(char const*)
native: art/runtime/utils.cc:816
native: #07 pc 000000000033e693 /src/out/host/linux-x86/lib64/libartd
.so (art::gc::space::PruneDalvikCache(art::InstructionSet)+67)
native: art::gc::space::PruneDalvikCache(art::InstructionSet)
native: art/runtime/gc/space/image_space_fs.h:95
native: #08 pc 000000000033c5ef /src/out/host/linux-x86/lib64/libartd
.so (art::gc::space::ImageSpace::CreateBootImage(char const*, art::Instr
uctionSet, bool, std::__1::basic_string<char, std::__1::char_traits<char
>, std::__1::allocator<char>>*)+3935)
native: art::gc::space::ImageSpace::CreateBootImage(char const*, art
::InstructionSet, bool, std::__1::basic_string<char, std::__1::char_trai
ts<char>, std::__1::allocator<char> >*)
native: art/runtime/gc/space/image_space.cc:1610
Я предполагаю, что часть запуска dex2oat включает в себя создание загрузочного образа и очистку кеша dalvik, но либо кто-то наверху не устанавливает ANDROID_DATA, либо восстановление ошибок испорчено.
Проблема была связана с каким-то проникновением в контейнер докеров из родительского дистрибутива Ubuntu. Проделав тот же процесс в Ubuntu 18.04, я смог успешно собрать Android.
Попробуй это
экспорт ANDROID_DATA=/данные ANDROID_ROOT=/система
Как сейчас написано, ваш ответ неясен. Пожалуйста, отредактируйте , чтобы добавить дополнительную информацию, которая поможет другим понять, как это относится к заданному вопросу. Более подробную информацию о том, как писать хорошие ответы, вы можете найти в справочном центре.