AOSPビルドにいくつかのサードパーティAPKを追加する必要があります。コードをビルドしてイメージが作成されたときにエミュレータにインストールされるように、これらのAPKを保持するフォルダーはどれですか?
システムアプリはpackages/appフォルダーに保存されているように見えるので、サードパーティのAPKが保存されている場所を知る必要があります。
ビルドにサードパーティのAPKを追加することは間違いなく可能です。
また、ソースコード付きのAPKとAPPは同じ場所に移動します。 package/app
フォルダー。
ビルドへの新しいAPKの追加
AOSPルートでフォルダーを追加します。
<aosp root>/package/app/< yourappfolder >
次に、このフォルダー内に以下を追加します。
Android.mk
< yourapp.apk >
Android makeファイルにはapkへの参照が必要です。これをAndroid.mk
に追加します:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := < your app folder name >
LOCAL_CERTIFICATE := < desired key >
LOCAL_SRC_FILES := < app apk filename >
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_Android_PACKAGE_SUFFIX)
include $(BUILD_PREBUILT)
Apkのcommons.mk
(通常はbuild/target/product
)にエントリを作成し、行を追加します(他のすべての場所を確認します)
PRODUCT_PACKAGES += < what you have defined in LOCAL_MODULE, it should be your app folder name >
AOSPをコンパイルすると、新しいアプリがシステムにインストールされます。
上記のAndroid.mkは、APKを/ system/appにインストールします
APKを/ data/appにインストールする場合は、次の行をAndroid.mkのinclude $(BUILD_PREBUILT)
行の前に追加する必要があります。
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)
ターゲット出力ディレクトリで次のこともできます。
<path-to-your-build-dir>/Host/linux-x86/bin/simg2img system.img temp.img
mkdir system_root
Sudo mount -t ext4 -o loop temp.img system_root
この時点で、system_rootのファイルに任意の変更を加えることができます。つまり、apkをsystem/appなどに追加します。
完了したら、出力ディレクトリに戻って以下を実行します。
Sudo umount system_root
<path-to-your-build-dir>/Host/linux-x86/bin/img2simg temp.img system.img
これで、通常どおりfastbootを使用してsystem.imgをフラッシュできます。