posted based on udemy video - Android OS Internals 😁
The Android Build System uses Android blueprint files (Android.bp
) and Android make files (Android.mk
) to build the Android OS.
Before Android 7.0 (Nougat), Android use the Make Build System to build Android.
Earlier it(.mk
) was only using download files before Android 7.
❗ Problem
And then Google decided to use the new build system named Soong.
Soong is basically the replacement of the old Android Make Build System.
Androd.mk → Android.bp
Android.bp files are similar to the JSON syntax.
The theme is still converting the Make Files.
So make files into the .bp files, but it's not yet completed.
That's why there are still many make files in the system.
So that is the reason, Basically we are seeing two types of files for building the system.
The Android.bp
files are there to stay and Android.mk
files will be replaced in future.
*.bp (blueprint files)
→ soong build logic → [Output] *.ninja
build files*.mk (make files)
→ Kati → [Output] *.ninja
build files*.ninja
build files → Ninja build System → [Output] *.so
, *.apk
, *.jar
The Ninja build system converts all these ninja build input files into the Android OS.