Pull to refresh

Comments 7

screencap собирается в дереве Android. Самое простое — это просто пересобрать его в том же дереве. Проблем со сборкой будет на много меньше, чем при таком подходе.
Благодарю за комментарий. Каким образом он сможет сам найти библиотеки тогда? Ведь надо пути указать на файлы и на so. Или в данном случае получается сборка не через ndk? К сожалению, именно сборкой полной ОС не занимался, но кажется, что там тоже будут какие-то нюансы… Было бы здорово, если есть у вас ссылка, где об этом можно почитать подробнее.
Там все зависимости соберутся сами. Я собирал AOSP довольно давно и на Ubuntu. Процесс выглядит примерно так:
1. Вам нужно скачать Android source.android.com/setup/build/downloading
2. Перейти на нужную ветку
3. Запустить в корне source build/envsetup.sh; lunch
4. make -j8 screencap
Процесс описан в официальной документации гугла: source.android.com/setup/build/building

Или в данном случае получается сборка не через ndk?

Да, не через ndk.
Благодарю! Изучу данные ссылки. Просто, прежде чем писать статью прилично на stackoverflow полазил и не удалось нужной инфы найти. Вот и извращался как мог и нашел новый тернистый путь. хД
Вот так собирается screencap для Android 10:
mkdir AOSP
cd AOSP
mkdir repo
curl https://storage.googleapis.com/git-repo-downloads/repo > repo/repo
chmod +x repo/repo
./repo/repo init -u https://android.googlesource.com/platform/manifest -b android-10.0.0_r5
./repo/repo sync -j8
source build/envsetup.sh
lunch aosp_arm64-eng
make -j8 screencap

Потом надо поискать его в директории out.
А сколько по времени сейчас будет занимать билд на средней машине?
sreencap со всеми зависимостями собирался около 30 мин на hdd, i7-2700K CPU @ 3.50GHz, 16Gbytes RAM. Повторные сборки займут примерно 1 мин на hdd.
Весь Android я не собирал, не знаю. Знаю лишь то, что когда дело дойдет до сборки компонентов на Java, 16G RAM не хватит. Нужно 32G или будет уходить в swap. Еще можно собирать в один поток, тогда памяти должно хватить.
Sign up to leave a comment.

Articles