Как сделать андроид мм чистым?

Я строю пользовательский модуль в Android-источнике, используя mm команда.

Когда я бегу mm cleanКажется, что весь проект очищен.

Как я могу ограничить чистоту только текущим модулем?

3 ответа

Решение

Использование mm -B, он восстановит все, эквивалентное очистить, а затем сделать.

Еще один способ обойтись без мм, это дать make clean-<target name> из корня источника Android.

Точно так же вы можете собрать необходимый модуль наедине с make <target name>

В старой системе сборки AOSP на основе make используйте

mm -B

перестроить модуль.

В более новых системах сборки AOSP на основе Ninja + Soong кажется, что -Bбольше не работает. Выдает ошибкуUnknown option: -B.

Одна из возможных альтернатив - использовать NINJA_ARGS переменная окружения для передачи дополнительных аргументов Ninja в базовый движок сборки.

Например, следующая команда удаляет все выходные и промежуточные файлы:

NINJA_ARGS="-t clean" mm

В этом случае clean - дополнительный инструмент к системе сборки Ninja. См. https://ninja-build.org/manual.html для других инструментов.

Следует отметить, что чистый инструмент, кажется, очищает все зависимости модуля, а не самого модуля. Я не нашел способа назначить правило, ограничивающее чистую область только для модуля.

ссылки: https://android.googlesource.com/platform/build/soong/+/HEAD/docs/best_practices.md

Приставка "clean-" к имени модуля сделает чистую сборку в Android.

Например, m clean-libskia

make <lib> 2>&1 | grep -e "install"

Это сделает и распечатает все библиотеки, которые были перекомпилированы.

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