ubuntu:
apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig
mkdir aosp # имя папки можно выбрать любое
cd aosp
curl https://storage.googleapis.com/git-repo-downloads/repo > repo
chmod a+x repo
на ubuntu можно поставить apt install repo
на gentoo emerge dev-vcs/repo
./repo init -b android-security-11.0.0_r76 --depth 1 -u https://android.googlesource.com/platform/manifest
-u — урл git-репозитория с манифестом
-b — ветка
—depth — скачивать только одну ветку (если не использовать, то для каждого репозитория скачается весь индекс, что увеличит время загрузки и место на диске)
./repo sync -c -j $(nproc) --no-tags --no-clone-bundle
-c — скачивать только текущую ветку манифеста
-j — количество потоков, обычно указывается столько доступно процессоров
—no-tags — не скачивать тэги с репозитариев
—no-clone-bundle — не пытаться качать clone.bundle (упакованная репа, которая уменьшить время на загрузку, но не у всех сервер формирует этот bundle),
https://source.android.com/docs/setup/reference/repo
https://source.android.com/docs/setup/build/building
Сборка
Настраиваем среду разработчика:
source build/envsetup.sh
конфигурируем сборку
lunch aosp_arm-eng
arm — указывается под какой девайс собирать
ищите детали в документации https://source.android.com/setup/build/building#choose-a-target
eng — тип сборки (сокращение от engineering), с максимальными логами и дополнительными утилитами для отладки. Другие тип сборки думаю не особо интересны
сборка make или m
в gentoo перед сборкой нужно выполнить:
unset JAVAC
unset JAVA_HOME
unset JDK_HOME
unset LEX
Для сборки java файлов увеличиваем Heap size, если этого не сделать, то сборка всего завалится с StackOverflow ошибкой:
export _JAVA_OPTIONS="-Xmx4g"
Так же можно добавить в .bashrc чтобы постоянно не повторять команду
Все, теперь готовы к сборке:
USE_CCACHE=1 CCACHE_DIR=ccache make -j $(nproc)
Можно не использовать CCACHE, что уменьшит количество занимаемого места на диске, но увеличит время повторной сборки.
После окончания сборки, запускаем эмулятор:
emulator -show-kernel
-show-kernel — выводить уведомления в консоль
Если нажать Enter, то попадем в консоль эмулятора
для armv8-eng под gentoo ошибка
error: continuous_native_tests: Unknown installed file for module 'resolv_gold_test'
https://github.com/android-rpi/device_arpi_rpi4/wiki/arpi-11-:-framework...
platform_testing/build/tasks/tests/native_test_list.mk
@@ line 111
puffin_unittest \
recovery_unit_test \
- resolv_gold_test \
resolv_integration_test \
resolv_unit_test \
https://github.com/android-rpi/device_arpi_rpi4/issues/71
Linux version of Amlogic USB Burning Tool
https://github.com/Stane1983/aml-linux-usb-burn
Новые комментарии