一 准备第三方APP
例:MySystemApp.apk phoneOncar
创建目录MySystemApp

/package/app/Car/MySystemApp
二 创建 Android.mk(或者Android.bp)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := MySystemApp
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
#module的后缀,可不设置
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
#获得apk中各个平台下所有的so
ifeq ($(strip $(TARGET_ARCH)), arm64)
CPU_ARCH := arm64-v8a
else ifeq ($(strip $(TARGET_ARCH)), x86_64)
CPU_ARCH := x86_64
else ifeq ($(strip $(TARGET_ARCH)),arm)
CPU_ARCH := armeabi-v7a
else
CPU_ARCH := x86
endif
define get-all-libraries-module-name-in-subdirs
$(sort $(shell cd $(LOCAL_PATH) ; rm -rf lib >/dev/null ; unzip $(LOCAL_MODULE).apk 'lib/${CPU_ARCH}/*.so' -d . >/dev/null ; find -L $(1) -name "*.so"))
endef
ALL_LIBRARIES_MODULE_NAME := $(call get-all-libraries-module-name-in-subdirs, lib/${CPU_ARCH})
LOCAL_PREBUILT_JNI_LIBS := $(ALL_LIBRARIES_MODULE_NAME)
#可以为testkey、platform、shared、media、PRESIGNED(使用原签名),platform代表为系统应用
LOCAL_CERTIFICATE := PRESIGNED
#不设置或者设置为false,安装位置为system/app,如果设置为true,则安装位置为system/priv-app
#LOCAL_PRIVILEGED_MODULE := true
include $(BUILD_PREBUILT)
三 添加新增模块编译配置
aosp 版本不同 修改的配置文件点可能不同一般通过查找Launch/SystemUi添加

一般在build/make/target/product/内
添加自定义apk

重新 make
启动 emulator
验证结果 phonOnCar

765

被折叠的 条评论
为什么被折叠?



