Android11.0系统中预制第三方apk

预制第三方应用

本文描述在RK3568的Android11系统中预制第三方apk。

RK预制方式

RK提供了三种预安装方式:
a. 安装不可卸载应用;
b.安装可永久卸载应用;
c.安装卸载后恢复出厂设置后自动恢复的应用;

  1. 通过get_build_var TARGET_DEVICE_DIR命令获取目标文件夹,eg:device/rockchip/rk356x/yjz。
  2. 在该目录中添加preinstall、preinstall_del_forever、preinstall_del文件夹;分别对应上面的三种方式;
  3. 将 需 要 预 置 的 应 用 放 入 对 应 的 文 件 夹 , 注 意 a p k文件名尽量使用英文,避免空格;
  4. 编译工程,完成后,会在/out/target/product/产口型号/odm目录中生成bundled_persist-app、bundled_uninstall_gone-app、bundled_uninstall_back-app三个文件夹;
  5. 刷机验证。
    注意:此种方式不支持带 systemuid 应用的预制;

原生预制方式

App放置目录可以选择packages/apps或者vendor/rockchip/common/apps,本文是放置在vendor/rockchip/common/apps目录下;

  1. 创建Demo目录,并将demo.ap放置在此目录中。
  2. 添加Android.mk文件;

# Demo
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := Demo
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
#安装目录
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/app
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
include $(BUILD_PREBUILT)

  1. 修改apps.mk文件,将Demo加入编译,路径vendor/rockchip/common/apps/apps.mk
/**省略代码**/

PRODUCT_PACKAGES += \
    RKUpdateService \
    Demo
    
/**省略代码**/
  1. 编译工程,刷机验证。

猜你喜欢

转载自blog.csdn.net/yjz_0314/article/details/133775167
今日推荐