2026 年より、トランク安定版開発モデルに沿ってエコシステムのプラットフォームの安定性を確保するため、第 2 四半期と第 4 四半期に AOSP にソースコードを公開します。AOSP のビルドとコントリビューションには、aosp-main ではなく android-latest-release を使用することをおすすめします。android-latest-release マニフェスト ブランチは、常に AOSP にプッシュされた最新のリリースを参照します。詳細については、AOSP の変更点をご覧ください。
再帰的拡張
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
product / board configmakefilesで再帰的展開を使用しないでください。再帰的拡張とは、makefileでの変数の割り当てに:=の代わりにraw =を使用することです。これにより、他の変数の値に設定された変数は、それら自体が評価されるまで、それらの他の変数を評価しません。これはStarlarkがサポートしていない機能です。
それを削除することは、それがどのように使用されるかの特定のシナリオに大きく依存します。ほとんどの場合、変数の割り当てを使用する前に移動する必要があります。たとえば、次を置き換えます。
MY_VAR_2 = foo
# Some stuff in between...
MY_VAR = $(MY_VAR_2)
MY_VAR_2 = bar
# $(MY_VAR) is bar here.
と:
MY_VAR_2 := foo
# Some stuff in between...
MY_VAR_2 := bar
MY_VAR := $(MY_VAR_2)
# $(MY_VAR) is bar here.
+=を使用して変数に追加すると、その変数が以前に単純展開で割り当てられたことがない場合は、再帰展開が使用されます。変数が以前に割り当てられているかどうかわからない場合は、 +=をMY_VAR := $(strip $(MY_VAR) new_value)に置き換えることができます。
遅延拡張を削除すると、Starlarkへの変換が完了する前であっても、Makefileの評価を高速化できます。変数が高価な関数呼び出しの結果に設定されている場合、関数は単純な展開では1回だけ呼び出されますが、再帰的な展開では何度も呼び出される可能性があります。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2022-06-06 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2022-06-06 UTC。"],[],[]]