Как работает Android soong/android.bp build?

Google представил систему сборки Soong вместо старой системы makefile. Есть идеи о том, как это работает? расскажите пожалуйста про Android.bp

3 ответа

Решение

Только гуглеры, вероятно, могут объяснить, некоторая базовая документация здесь:

https://android.googlesource.com/platform/build/soong/

Попробуйте поискать и в группах Google:

https://groups.google.com/forum/

Обратите внимание, что в Oreo файлы Android.mk продолжают работать и могут зависеть от файлов Android.bp, однако файлы Android.bp не могут зависеть от файлов Android.mk. По-видимому, со временем все больше и больше систем сборки будут конвертироваться в Android.bp, надеюсь, Google справится с документацией лучше.

  1. ninja - это новые инструменты сборки для aosp, использующие *.ninja для работы;
  2. для устаревшего Android.mk, kati применяется для преобразования Androd.mk в *.ninja;
  3. Google теперь использует файл Android.bp для описания деталей компиляции модуля, который также преобразуется в *.ninja с помощью blueprint/soong;
  4. после того, как весь Android.mk будет переписан на Android.bp, Катя будет удалена, и у нас будет только blueprint/soong/ninja;

как эта ссылка объясняет.

Система сборки Soong эквивалентна устаревшей "Android make build system". Поэтому Soong - это сборник программ, представляющих собой рецепты "как собрать сотни модулей Android" с множеством небольших инструментов.

Ninja - это процесс для обработки окончательного манифеста сборки (Build.ninja), созданного Blueprint или Kati (перевод Android.mk на Android.bp).

Blueprint похож на грамматику GNU Make, так называемый "фреймворк для системы сборки". это сделано на языке Go, следовательно, оно лучше обеспечивает многопроцессорность. Чертеж переводит "рукописный сборочный манифест"(*. Bp) в конечный манифест (build.ninja) в формате ниндзя.

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