web-dev-qa-db-ja.com

how Android soong / Android.bp build works?

GoogleはSoongビルドシステムに古いmakefileシステムの置き換えを導入しました。それがどのように機能するかについて何か考えがありますか? Android.bpについて教えてください

10
Deadpool

おそらく説明できるのはGoogle社員だけです。基本的なドキュメントは次のとおりです。

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

Googleグループも検索してみてください:

https://groups.google.com/forum/#!topic/Android-building/0Hy7kLwlBBk

Oreoでは、Android.mkファイルは引き続き機能し、Android.bpファイルに依存する可能性がありますが、Android.bpファイルはAndroid.mkファイルに依存できないことに注意してください。時間が経つにつれて、ますます多くのビルドシステムがAndroid.bpに変換されるようです。Googleがドキュメントでより良い仕事をすることを願っています。

6
satur9nine
  1. ninjaは、*。ninjaを使用して動作するaospの新しいビルドツールです。
  2. 従来のAndroid.mkの場合、katiはAndrod.mkを* .ninjaに変換するために適用されます。
  3. googleは現在、Android.bpファイルを使用してモジュールコンパイルの詳細を記述しています。これもblueprint/soongによって* .ninjaに変換されます。
  4. すべてのAndroid.mkがAndroid.bpに書き換えられた後、katiは削除され、blueprint/soong/ninjaのみが得られます。

このように link が説明しています。

9
oscarthecat

Soongビルドシステムは、従来の「Android make build system」と同等です。そのためSoongはプログラムのコレクションであり、これは多くの小さなツールを使用して「何百ものAndroidモジュール)をビルドする方法」というレシピです。

Ninjaは、BlueprintまたはKati(Android.mkをAndroid.bpに変換)によって作成された最終ビルドマニフェスト(Build.ninja)を実際に処理するプロセスです。

ブループリントは、GNUいわゆる「ビルドシステムのフレームワーク」と呼ばれる文法を作成します。Go言語で作成されているため、マルチプロセッシングをよりよく提供します。 .bp)忍者形式の最終マニフェスト(build.ninja)へ。

1
OfusJK