跳到主要内容

内置 APP 的几种方式

5.1. 代码修改的方式

可在vendor目录下新增APP的文件夹

5.1.1. 不可卸载

可参考vendor/firefly/fireflyapi

  • Android.mk里的内容

    LOCAL_PATH := $(call my-dir)
    include $(CLEAR_VARS)
    LOCAL_MODULE := firefly_sdkapi_demo
    LOCAL_MODULE_CLASS := APPS
    LOCAL_MODULE_TAGS := optional
    LOCAL_BUILT_MODULE_STEM := package.apk
    LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
    #LOCAL_PRIVILEGED_MODULE :=
    LOCAL_CERTIFICATE := platform
    #LOCAL_OVERRIDES_PACKAGES :=
    LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
    #LOCAL_REQUIRED_MODULES :=
    #LOCAL_PREBUILT_JNI_LIBS :=
    include $(BUILD_PREBUILT)
    • LOCAL_CERTIFICATE := platform含义:APK签名使用系统签名

    • LOCAL_PRIVILEGED_MODULE如果不设置或者设置为false,安装位置为/system/app

  • fireflyapi.mk里的内容

    PRODUCT_PACKAGES += \
    firefly_sdkapi_demo

    PRODUCT_COPY_FILES += \
    vendor/firefly/fireflyapi/fireflyapi:system/bin/fireflyapi \
    vendor/firefly/fireflyapi/fireflyapi.jar:system/framework/fireflyapi.jar

5.1.2. 可卸载

  • device/rockchip/CPU_TYPE/PRODUCT_TYPE/ 目录下新建一个 preinstall_del 目录

  • 把 apk 拷贝到 device/rockchip/CPU_TYPE/PRODUCT_TYPE/preinstall_del 目录下

  • 编译 android