Комментарии 7
screencap собирается в дереве Android. Самое простое — это просто пересобрать его в том же дереве. Проблем со сборкой будет на много меньше, чем при таком подходе.
0
Благодарю за комментарий. Каким образом он сможет сам найти библиотеки тогда? Ведь надо пути указать на файлы и на so. Или в данном случае получается сборка не через ndk? К сожалению, именно сборкой полной ОС не занимался, но кажется, что там тоже будут какие-то нюансы… Было бы здорово, если есть у вас ссылка, где об этом можно почитать подробнее.
0
Там все зависимости соберутся сами. Я собирал 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.
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.
0
Вот так собирается screencap для Android 10:
Потом надо поискать его в директории out.
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.
+2
А сколько по времени сейчас будет занимать билд на средней машине?
0
sreencap со всеми зависимостями собирался около 30 мин на hdd, i7-2700K CPU @ 3.50GHz, 16Gbytes RAM. Повторные сборки займут примерно 1 мин на hdd.
Весь Android я не собирал, не знаю. Знаю лишь то, что когда дело дойдет до сборки компонентов на Java, 16G RAM не хватит. Нужно 32G или будет уходить в swap. Еще можно собирать в один поток, тогда памяти должно хватить.
Весь Android я не собирал, не знаю. Знаю лишь то, что когда дело дойдет до сборки компонентов на Java, 16G RAM не хватит. Нужно 32G или будет уходить в swap. Еще можно собирать в один поток, тогда памяти должно хватить.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Сборка бинарных файлов Android с помощью исходников и Android NDK. Прокачиваем утилиту screencap