Ошибка сборки Android 8: ошибка «ANDROID_DATA не установлена ​​и/данные не существуют»

Я пытаюсь собрать 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, либо восстановление ошибок испорчено.

0
0
114
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Проблема была связана с каким-то проникновением в контейнер докеров из родительского дистрибутива Ubuntu. Проделав тот же процесс в Ubuntu 18.04, я смог успешно собрать Android.

Другие вопросы по теме