Аааа ... Но вы знаете, что если у вас есть весь репозиторий и дерево устройств, вы можете собрать только один пакет. Предположим на мгновение, что ваша среда основана на Linux, и что ваша телефонная трубка - это Samsung i9000 (Galaxy S), тогда в дереве исходных текстов у вас будет device / samsung / galaxys , который содержит проприетарные библиотеки и дополнительный код относится только к оборудованию для Samsung i9000.
Тогда нужно сделать это как разовую операцию -
. build/envsetup.sh
lunch
Выберите Samsung Galaxy s из меню обеда. Сложность в том, чтобы трубка вашего устройства появлялась в меню обеда!
make -jX
(замените X на соответствующее количество ядер в вашем процессоре)
Весь ваш system.img / boot.img будет храниться в out / target / product / samsung / galaxys через пару часов, в зависимости от скорости вашей машины / среды.
Теперь, чтобы создать один пакет, вы просто вводите это:
make Launcher2
Теперь у вас будет новое приложение для Android под названием Launcher.apk, которое будет храниться в каталоге out / target / product / samsung / galaxys / system / app .
Как?
Просто, когда после выполнения ланча ', и вызвать эту команду
make modules > modules_list.txt
Полученный результат будет содержать имена модулей в этом файле modules_list.txt , которые могут быть встроены в командную строку - модули в контексте всего исходного дерева AOSP, это может быть ( статическая | общая) библиотека, собственный исполняемый файл или даже Android-приложение для Android.
Теперь не пытайтесь очистить все дерево out / (даже если это может поглотить много места), оставьте его там, чтобы ускорить процесс сборки отдельных модулей.
Если вы действительно хотите удалить их, введите следующее:
make clean && make clobber
и весь каталог out / удален и ушел навсегда.