Как запустить команду после завершения всей сборки в AOSP?

#android #makefile #build #android-source #ninja

#Android #makefile #сборка #android-исходный код #ниндзя

Вопрос:

В частности, я хотел бы настроить корневой каталог (например, out / target / product / zcu102 / root), но я бы хотел, чтобы это выполнялось автоматически при сборке. Так, например, прямо сейчас я запускаю:

 m -j32 amp;amp; sh -c "cd out/target/product/zcu102/; tar czf root.tar.gz root"
  

Но я бы хотел, чтобы процесс тарирования всегда выполнялся самой сборкой. Есть какой-нибудь способ сделать это без изменения основных репозиториев Android?

Комментарии:

1. Почему указаны оба тега ‘makefile’ и ‘ninja’? Ninja использует входной файл ‘build.ninja’ с другим синтаксисом, а не ‘makefile’.

2. AOSP использует ninja и make для сборки. Если я хочу запустить команду в самом конце, я не знаю, куда она должна в конечном итоге перейти (в ninja files, make files или другие файлы).

3. Это не имеет значения, к чему это приведет, если вы не собираетесь изменять исходные тексты. Но что плохого в простом сценарии оболочки, содержащем только приведенную выше команду?

4. Я хотел бы иметь возможность использовать команды сборки Android, а не обертку вокруг них с помощью моих собственных скриптов. Кроме того, у меня есть более сложные вещи, которые я хотел бы сделать, чем просто тарирование сверху…

5. Вы можете написать свой собственный Makefile, который вызывает существующий (ср. «рекурсивный make») и добавляет некоторую постобработку. Однако я не вижу, каким образом это лучше, чем сценарий оболочки — в основном, wrapper makefile или сценарий оболочки-оболочки.