Android预装应用的方法

Android预装应用的方法

目录一、在Vender文件夹内预装不可卸载应用二、在Package文件夹内预装不可卸载应用三、在Device下预装应用1、不可卸载应用2、可卸载应用,重置后可恢复3、可卸载应用,重置后不可恢复

Android预装应用有很多种方法:

推荐第三种

一、在Vender文件夹内预装不可卸载应用

另一种预装应用存放方式,存放目录为W:\Code\RK3399PRO_HDMI_ANDROID8\vendor\rockchip\common\apps在该文件夹下存放所需APP文件夹,在文件夹内存放APK文件和MK文件,其Android.mk形式为:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := TESTAPP

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 := PRESIGNED

LOCAL_SRC_FILES := $(LOCAL_MODULE).apk

#LOCAL_REQUIRED_MODULES :=

#LOCAL_PREBUILT_JNI_LIBS :=

include $(BUILD_PREBUILT)

另外还需在W:\Code\RK3399PRO_HDMI_ANDROID8\vendor\rockchip\common\apps\apps.mk中增加如此描述

PRODUCT_PACKAGES += TESTAPP

二、在Package文件夹内预装不可卸载应用

另一种预装应用存放方式,存放目录为W:\Code\px30-jd4_android8\AIO-PX30-JD4\packages\apps在该文件夹下存放所需APP文件夹,在文件夹内存放APK文件和MK文件,其Android.mk形式为:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

# Module name should match apk name to be installed

LOCAL_MODULE := BILIBILI

LOCAL_MODULE_TAGS := optional

LOCAL_SRC_FILES := $(LOCAL_MODULE).apk

LOCAL_BUILT_MODULE_STEM := package.apk

LOCAL_MODULE_CLASS := APPS

LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)

LOCAL_PRIVILEGED_MODULE := false

LOCAL_CERTIFICATE := PRESIGNED

include $(BUILD_PREBUILT)

另外还需在W:\Code\px30-jd4_android8\AIO-PX30-JD4\device\rockchip\common\device.mk中增加如此描述

PRODUCT_PACKAGES += BILIBILI

三、在Device下预装应用

该方法可预装:

不可卸载应用

可卸载应用,重置后恢复

可卸载应用,重置后不可恢复

先讲下流程,在W:\Code\RK3399PRO_HDMI_ANDROID8\device\rockchip\common\device.mk文件内有如下代码:

# Prebuild apps

ifneq ($(strip $(TARGET_PRODUCT)), )

TARGET_DEVICE_DIR=$(shell test -d device && find device -maxdepth 4 -path '*/$(TARGET_PRODUCT)/BoardConfig.mk')

TARGET_DEVICE_DIR := $(patsubst %/,%,$(dir $(TARGET_DEVICE_DIR)))

# $(info device-rockchip-common TARGET_DEVICE_DIR: $(TARGET_DEVICE_DIR))

$(shell python $(LOCAL_PATH)/auto_generator.py $(TARGET_DEVICE_DIR) preinstall bundled_persist-app)

$(shell python $(LOCAL_PATH)/auto_generator.py $(TARGET_DEVICE_DIR) preinstall_del bundled_uninstall_back-app)

$(shell python $(LOCAL_PATH)/auto_generator.py $(TARGET_DEVICE_DIR) preinstall_del_forever bundled_uninstall_gone-app)

-include $(TARGET_DEVICE_DIR)/preinstall/preinstall.mk

-include $(TARGET_DEVICE_DIR)/preinstall_del/preinstall.mk

-include $(TARGET_DEVICE_DIR)/preinstall_del_forever/preinstall.mk

endif

其主要内容为,根据预装APP文件,生成相应的文件。

1、不可卸载应用

将应用放入该文件夹内

W:\Code\RK3399PRO_HDMI_ANDROID8\device\rockchip\rk3399pro\preinstall

2、可卸载应用,重置后可恢复

将应用放入该文件夹内

W:\Code\RK3399PRO_HDMI_ANDROID8\device\rockchip\rk3399pro\preinstall_del

3、可卸载应用,重置后不可恢复

将应用放入该文件夹内

W:\Code\RK3399PRO_HDMI_ANDROID8\device\rockchip\rk3399pro\preinstall_del_forever

最后在W:\Code\RK3399PRO_HDMI_ANDROID8\device\rockchip\rk3399pro\device.mk文件内添加所要增加的应用名,如下所示:

PRODUCT_PACKAGES += \

BILIBILI \

NeteaseCloudMusi \

Quark_Browser_unins \

tim

在make工程后,会发现之前放进去的APK文件会,会被生成一个文件夹,文件夹内有Android.mk文件和apk文件,有些应用还会有lib文件

END

预装应用的默认权限,请参考该文章《Android 默认打开应用权限》

相关推荐

男女动态
365彩票所有官方app下载平台

男女动态

📅 01-14 👁️ 6026
深圳IT企业排名:这些大厂和黑马公司你了解几个?
365bet亚洲版官方

深圳IT企业排名:这些大厂和黑马公司你了解几个?

📅 11-02 👁️ 7454
皮包 市场
365bet平台开户

皮包 市场

📅 08-29 👁️ 9059