文章目录
- 需求
- 解决方法
- 1、device/mediatek/mt6761/device.mk
- 2、/vendor/mediatek/proprietary/frameworks/base/data/etc/pms_sysapp_removable_vendor_list.txt
- 3、路径:
- 4、Android.mk
需求
近期,客户需要预装一个apk,同时该apk要可卸载。
解决方法
1、device/mediatek/mt6761/device.mk
需要在该文件中添加:
+PRODUCT_PROPERTY_OVERRIDES += persist.sys.pms_sys_removable=1
+
+ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
+ PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,vendor/mediatek/proprietary/frameworks/base/data/etc/pms_sysapp_removable_vendor_list.txt:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/pms_sysapp_removable_vendor_list.txt)
+endif
2、/vendor/mediatek/proprietary/frameworks/base/data/etc/pms_sysapp_removable_vendor_list.txt
在该文档中将apk的包名添加上
3、路径:
/vendor/mediatek/proprietary/frameworks/base/services/core/java/com/mediatek/server/pm/PmsExtImpl.java
修改如下:
private static final File REMOVABLE_SYS_APP_LIST_VENDOR = Environment
- .buildPath(Environment.getRootDirectory(), "etc", "permissions",
+ .buildPath(Environment.getVendorDirectory(), "etc", "permissions",
"pms_sysapp_removable_vendor_list.txt");
4、Android.mk
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := LeChang
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := platform
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
此外,在该文件中可添加:LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/app, 也可以将LOCAL_CERTIFICATE := platform中的platform 换为PRESIGNED