内蔵システムAPP

1537 ワード

簡単に言えば、様々な方法でAPKをsystem/appディレクトリの下に置くことです.
リファレンスリンク
Android Studio自動生成システム署名付きapk Embedding precompiled.APK into Android ROM|Mobile Development
ADBコマンドの使用
adb pushを使用して手動で配置します.この方法はデバッグに適しています.本当にカスタマイズする場合は適用されません.
PRODUCT_の使用COPY_FILES
一、PRODUCTを利用できるCOPY_FILESをディレクトリにコピーする(通常APKをディレクトリにコピーすることは許されないのでpre_buildを使用してコピーする必要がありますが、この方法は後で説明します)、簡単な方法は、build/core/Makefileファイルの下に行ってcheck-product-copy-fileマクロを呼び出す場所を注記すればよいのですが、そうするとsystem.imgが肥大化するので、この方法はお勧めできません.
二、任意に存在する.MKファイルにproduct_を追加するcopy_files+=...apkを指定したディレクトリにコピーできます(パスはソースコードをコンパイルするパスとシステム上のパスに準じます)
三、アプリケーションに対してシステム署名を行うにはコマンドラインを使用するか、jksをシステム署名に導入するにはAndroid Studioを使用してデバッグし、具体的な方法はリンクを参照することができる.
PRE_の使用BUILD
一、packages/appsフォルダの下にフォルダを作成し、名前はappの名前である.二、あなたのappを新しく作成したフォルダの下に置く三、Android.mkファイルを作成し、以下のプリコンパイルコードを追加する
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := 
#PRESIGNED    APK            ,platform    apk        
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
#          ,  LOCAL_MODULE_CLASS     APPS,            system/app   
#LOCAL_MODULE_PATH := $(TARGET_OUT_APPS)
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
include $(BUILD_PREBUILT)

四、パッケージしたファイルを変数PRODUCT_に追加する必要があるPACKAGESでは、例えばbuild/target/product/full_base.mkファイル
PRODUCT_PACKAGE += 

五、これでapkをシステムにプレハブすることができる