Android コンパイル コマンド mm と mmm の違い (mm は現在の作業ディレクトリをコンパイルします。mmm は指定したディレクトリをコンパイルできます)

記事ディレクトリ


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 年) に基づいており、以降のバージョンでは調整される可能性があります。

    ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ         ‌‍ᅟᅠ        ‌‍ᅟᅠ            ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ⅅ        ‌‍ ⅄      ‌‍ᅟᅠ        ‌‍ᅟᅠ            ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ          ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟ ‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟ         ‌‍ᅟᅠ        ‌‍ᅟᅠ ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ           ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ ᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ             ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟဠ           ‌‍ᅟᅠ        ‌‍ᅟ ᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ               ‌‍ᅟᅠ        ‌‍ᅟᅠ       ‌‌‍ᅟᅠ          ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟဠ‍        ‌‍ᅟᅠ        ‌‍ᅟᅠ          ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ ⅄      ‌‍ᅟᅠ        ‌‍ᅟᅠ            ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ          ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟ ‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟ         ‌‍ᅟᅠ        ‌‍ᅟᅠ ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ           ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ ᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ             ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟဠ           ‌‍ᅟᅠ        ‌‍ᅟ ᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ               ‌‍ᅟᅠ        ‌‍ᅟᅠ       ‌‌‍ᅟᅠ          ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟဠ‍        ‌‍ᅟᅠ        ‌‍ᅟᅠ          ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ ⅄      ‌‍ᅟᅠ        ‌‍ᅟᅠ            ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ          ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟ ‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟ         ‌‍ᅟᅠ        ‌‍ᅟᅠ ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ           ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ ᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ             ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟဠ           ‌‍ᅟᅠ        ‌‍ᅟ ᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ               ‌‍ᅟᅠ        ‌‍ᅟᅠ       ‌‌‍ᅟᅠ          ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟဠ‍        ‌‍ᅟᅠ        ‌‍ᅟᅠ          ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ ⅄      ‌‍ᅟᅠ        ‌‍ᅟᅠ            ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ          ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟ ‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟ         ‌‍ᅟᅠ        ‌‍ᅟᅠ ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ           ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍
ᅟᅠ           ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟ ᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ               ‌‍ᅟᅠ        ‌‍ᅟᅠ       ‌‌‍ᅟᅠ          ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟဠ‍        ‌‍ᅟᅠ        ‌‍ᅟᅠ          ‌‍ᅟᅠ

おすすめ

転載: blog.csdn.net/Dontla/article/details/134340842
おすすめ