1、在源码packages/apps目录下 创建和我们APK同名的文件夹
cd aosp_12/packages/apps/
mkdir myapp
2、将 myapp.apk 放入建好的文件夹中,在文件夹中创建 Android.mk文件
cd aosp_12/packages/apps/myapp/
touch Android.mk
3、编辑 Android.mk文件内容,内容如下
LOCAL_PATH:=$(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := myapp.apk
LOCAL_MODULE_CLASS := APPS
#可以为user、eng、tests、optional,optional代表在任何版本下都编译
LOCAL_MODULE_TAGS := optional
#编译模块的名称
LOCAL_MODULE := myapp
#可以为testkey、platform、shared、media、PRESIGNED(使用原签名),platform代表为系统应用
LOCAL_CERTIFICATE := PRESIGNED
#不设置或者设置为false,安装位置为system/app,如果设置为true,则安装位置为system/priv-app?
LOCAL_PRIVILEGED_MODULE := false
#module的后缀,可不设置
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
# 关闭预编译,不会生成OAT文件
LOCAL_DEX_PREOPT := true
LOCAL_PRODUCT_MODULE := true
include $(BUILD_PREBUILT)
4、将创建的myapp模块加入到编译系统,找到 /aosp_12/build/make/target/product/handheld_product.mk文件,将myapp加入到如下位置:
PRODUCT_PACKAGES += \
...
apps \
...
qqmusic
5、进入源码根目录,重新编译:
cd aosp_12/
source build/envsetup.sh # 导入环境
lunch sdk_phone_x86_64 # 选择系统
make -j12 # 编译
make snod # 快速打包生成最新的system.img文件