android 6.0 卸载内置,Android6.0 RK3399 出厂预置可卸载 APK · Younix’s Studio

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

Platform: RK3399

OS: Android 6.0

Kernel: 4.4

Version: v2017.04

[TOC]

官方文档中的方法1

2mkdir device/rockchip/rk3399/preinstall

cp test.apk device/rockchip/rk3399/preinstall/

重新编译即可

编译后会在 out/target/product/rk3399/system/ 下生成 preinstall 文件夹,其中包含了预置的第三方 APK。

烧录后系统将自动安装应用到 data/app 目录,所以他们是可以卸载的。

不过即使卸载后,恢复出厂设置后,这些 APP 还是会存在的。

希望卸载后,恢复出厂设置时,这些 APP 不存在的话,将上述文件夹名字改为 preinstall_del 即可。

出现问题

我的 out/target/product/rk3399/system/ 并没有生成 preinstall 文件夹

解决思路

应该会有某个 mk 对 preinstall 进行操作。1

2

3

4

5

6

7

8

9

10

11

12

13

14

15$ grep preinstall ./device/rockchip/ -nir

./common/device.mk:21: $(shell python device/rockchip/common/auto_generator.py $(TARGET_DEVICE_DIR) preinstall)

./common/device.mk:22: $(shell python device/rockchip/common/auto_generator.py $(TARGET_DEVICE_DIR) preinstall_del)

./common/device.mk:23: -include $(TARGET_DEVICE_DIR)/preinstall/preinstall.mk

./common/device.mk:24: -include $(TARGET_DEVICE_DIR)/preinstall_del/preinstall.mk

./common/device.mk:422:# for preinstall

./common/device.mk:424: $(LOCAL_PATH)/preinstall_cleanup.sh:system/bin/preinstall_cleanup.sh

./common/preinstall_cleanup.sh:2:log -t PackageManager "Start to clean up /system/preinstall_del/"

./common/preinstall_cleanup.sh:4:rm system/preinstall_del/*.*

./common/auto_generator.py:19: preinstall_dir = os.path.dirname(argv[0])

./common/auto_generator.py:20: preinstall_dir = os.path.join(preinstall_dir, '../../../' + argv[1] + '/' + argv[2])

./common/auto_generator.py:21: if os.path.exists(preinstall_dir):

./common/auto_generator.py:23: makefile_path = preinstall_dir + '/Android.mk'

./common/auto_generator.py:25: include_path = preinstall_dir + '/preinstall.mk'

./common/auto_generator.py:36: for root, dirs, files in os.walk(preinstall_dir):

看起来 device.mk 中有点相关1vi common/device.mk +21

1

2

3

4

5

6

7

8

917

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

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

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

21 $(shell python device/rockchip/common/auto_generator.py $(TARGET_DEVICE_DIR) preinstall)

22 $(shell python device/rockchip/common/auto_generator.py $(TARGET_DEVICE_DIR) preinstall_del)

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

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

25 endif

哦,原来他是会去找 TARGET_DEVICE_DIR 目录下的 preinstall 啊

所以对于我的 TARGET_DEVICE_DIR 路径应该是 device/rockchip/rk3399/rk3399_64/preinstall

重新按官方方法添加 APK 后验证成功。

另外在上面 mk 中也可以看到 在找到了 preinstall 或者 preinstall_del 后会调用 device/rockchip/common/auto_generator.py 这个脚本来生成一些 mk 文件(Android.mk 和 preinstall.mk)

实际上最终处理 preinstall 文件夹下 Apk 的逻辑是在生成的 preinstall.mk 中的

重新编译后我们可以看到1vi device/rockchip/rk3399/rk3399_64/preinstall/preinstall.mk

preinstall.mk 中有1PRODUCT_PACKAGES += MyAPK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值