Androidはモジュールをコンパイルしません


Androidはモジュールをコンパイルしません
Android 5.1以上のソースコードでコンパイルされた関連ファイルは、buildディレクトリの下にbuild/target/productに多くのmkファイルが置かれており、一般的に製品によって異なるディレクトリがあります
もし私がMusicをコンパイルしたくないとしたら、buildディレクトリの下でgrepして「Music」target/product/full_base.mk target/product/sdk_base.mkはこの2つのファイルに入り、この2つのファイルと関連するライブラリ(ライブラリファイルがあれば)を削除した後:
PRODUCT_PACKAGES := \
libfwdlockengine \
WAPPushManager

outディレクトリを削除するか、関連ファイルのみを削除して再コンパイルすればよい
full_base.mkには、以下の内容があります.
PRODUCT_PACKAGES := \
libfwdlockengine \
WAPPushManager

PRODUCT_PACKAGES += \
LiveWallpapersPicker \
NoiseField \
PhaseBeam \
VisualizationWallpapers \
PhotoTable
...... 

そして、sdk_base.mkにも多くのpackagesがあり、一般的にAndroid原生のいくつかの応用である.
PRODUCT_PACKAGES := \
        Dialer \
        Gallery \
        Mms \
        Music \
        SystemUI \
......

どちらをコンパイルしたくないのか、直接削除すればいいのですが、パッケージをコンパイルするときはアプリケーションをコンパイルしません.
ただし、一部のシステムのオリジナルアプリケーションをブロックすると、これらのappが呼び出される場合があることに注意してください.モジュールをコンパイルせず、システムに呼び出しがある場合は、「XXXX」が停止したことを警告するポップアップウィンドウがある可能性があります.システムアプリケーションを慎重に削除してください.
==注意:==
例えば、システムのオリジナルMusicモジュールを削除するときにsdk_のみを削除するbase.mkのモジュール宣言は削除の目的を達成していません.ソースディレクトリの下に/build/target/productディレクトリの下に入るとgeneric_という名前が表示されます.no_telephony.mkのファイルは、ファイルを開くと「PRODUCT_PACKAGES:=」が表示されます.ここにもMusicモジュールのコンパイル宣言があるので、imageにコンパイルしたいパッケージを追加または削除できます.
たとえば、imageにmusicをコンパイルしたくない場合は、このファイルでPRODUCT_PACKAGES:=この項の下のMusicを削除すればよい