Android オペレーティング システムのソース コード コンパイル プロセス中に、
mm
そして
mmm
は、コードの一部を構築するためによく使用される 2 つのコマンドです。これらはすべて、Android ビルド システムによって提供されるコマンド セットに属しますが、使用方法は若干異なります。
1.mm
mm
(make module) コマンドは、現在のディレクトリでモジュールをコンパイルするために使用されます。mm
を使用すると、現在のディレクトリに対応する Android.mk または Blueprints ファイルが検索され、このディレクトリに定義されているモジュールのみがコンパイルされます。- たとえば、アプリケーションのディレクトリにいる場合、
mm
を実行すると、アプリケーションとその依存関係がコンパイルされます。
例
cd ~/android_new/SC17X-Android12/LA.QSSI.12.0.r1/
source build/envsetup.sh
lunch qssi-user
cd development/ky_ai/arnoldTestNdkDemo/SimpleJNI
mm
2.うーん
mmm
(モジュールを一致させる) コマンドはmm
に似ており、特定のモジュールをコンパイルするために使用されますが、パスを指定できます。これは、どこからでもmmm
コマンドを実行し、コンパイルするモジュールへのパスを引数として指定できることを意味します。- たとえば、ソース ツリーのルート ディレクトリで
mmm some/path/
を実行して、some/path/
ディレクトリにあるモジュールをコンパイルできます。
例
cd ~/android_new/SC17X-Android12/LA.QSSI.12.0.r1/
source build/envsetup.sh
lunch qssi-user
mmm development/ky_ai/arnoldTestNdkDemo/SimpleJNI
知らせ
これら 2 つのコマンドの主な違いは、作業ディレクトリです。 mm
では、モジュールをコンパイルするディレクトリに既にいることを前提としていますが、mmm
ではディレクトリ パスを指定できます。どちらのコマンドも、指定されたモジュールと必要な依存関係のみをコンパイルしますが、Android システム全体をコンパイルするわけではありません。これにより、システム全体のすべてのコンポーネントを再コンパイルする必要がなくなるため、時間が節約されます。
これらのコマンドを使用する場合は、通常、-j
コンパイル プロセスを高速化するために並列コンパイル ジョブの数を指定するなど、他のオプションと組み合わせます。
Androidシステムのバージョンが更新されると、コンパイルシステムやコマンドの詳細が変更される可能性があることに注意してください。上記の情報は、私の知る限りの期限 (2023 年) に基づいており、以降のバージョンでは調整される可能性があります。
ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ⅅ ⅄ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟ ᅟᅠ ᅟᅠ ᅟ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟဠ ᅟᅠ ᅟ ᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟဠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ⅄ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟ ᅟᅠ ᅟᅠ ᅟ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟဠ ᅟᅠ ᅟ ᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟဠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ⅄ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟ ᅟᅠ ᅟᅠ ᅟ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟဠ ᅟᅠ ᅟ ᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟဠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ⅄ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟ ᅟᅠ ᅟᅠ ᅟ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ
ᅟᅠ ᅟᅠ ᅟᅠ ᅟ ᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟဠ ᅟᅠ ᅟᅠ ᅟᅠ