RK3288 android 7.1 预装可卸载APK

RK3288 android 7.1 预装可卸载APK

平台

RK3288 + Android 7.1

需求

ROM 中集成可卸载APK, 需满足要求:

  1. 烧录完成启动后, 应用已装上
  2. 用户可手动卸载
  3. 重启后保持应用安装/卸载状态
  4. 重置后, 应用已安装上

实现

在make 完成后, 创建out/target/product/rk3288/vendor/bundled_uninstall_back-app目录
把预装APK存放到此目录下, 结构如下:
|--out/target/product/rk3288/vendor/bundled_uninstall_back-app/
    |--apkFile-1.apk
    |--apkFile-2.apk
    ....
其中, apkFile为APK文件名, 任意, 建议使用英文最好不带字符, 避免使用中文编码

接着再重新 make
并使用 mkimage生成image文件
最后打包update.img 固件

后续

vendor 分区有大小限制, 注意APK不能超过分区大小
那么问题来了, 如何修改 分区大小?
首先, 这里走了一个弯路:

diff --git a/device/rockchip/rk3288/BoardConfig.mk b/device/rockchip/rk3288/BoardConfig.mk
index fb36305..da5ffc0 100755
--- a/device/rockchip/rk3288/BoardConfig.mk
+++ b/device/rockchip/rk3288/BoardConfig.mk
@@ -99,7 +99,7 @@ ifeq ($(strip $(USE_DEFAULT_PARAMETER)), true)
   BOARD_VENDORIMAGE_PARTITION_SIZE := $(shell python device/rockchip/common/get_partition_size.py $(TARGET_DEVICE_DIR)/parameter.txt vendor0)
   #$(info Calculated BOARD_VENDORIMAGE_PARTITION_SIZE=$(BOARD_VENDORIMAGE_PARTITION_SIZE) use $(TARGET_DEVICE_DIR)/parameter.txt)
 else
-  BOARD_VENDORIMAGE_PARTITION_SIZE ?= 52428800
+  BOARD_VENDORIMAGE_PARTITION_SIZE ?= 104857600

原来以为修改这个分区大小即可, 后面验证不可行.

正确方法

diff --git a/device/rockchip/rk3288/parameter.txt b/device/rockchip/rk3288/parameter.txt
index 37ab61e..f869e67 100755
--- a/device/rockchip/rk3288/parameter.txt
+++ b/device/rockchip/rk3288/parameter.txt
@@ -7,4 +7,4 @@ ATAG: 0x60000800
 MACHINE: 3288
 CHECK_MASK: 0x80
 PWR_HLD: 0,0,A,0,1
-CMDLINE: console=ttyFIQ0 androidboot.baseband=N/A androidboot.selinux=permissive androidboot.hardware=rk30board androidboot.console=ttyFIQ0 init=/init initrd=0x62000000,0x00800000 mtdparts=rk29xxnand:0x00002000@0x00002000(uboot),0x00002000@0x00004000(trust),0x00002000@0x00006000(misc),0x00008000@0x00008000(resource),0x0000C000@0x00010000(kernel),0x00010000@0x0001C000(boot),0x00010000@0x0002C000(recovery),0x00038000@0x0003C000(backup),0x00040000@0x00074000(cache),0x00400000@0x000B4000(system),0x00008000@0x004B4000(metadata),0x00019000@0x004BC000(vendor0),0x00019000@0x004D5000(vendor1),-@0x004EE000(userdata)
+CMDLINE: console=ttyFIQ0 androidboot.baseband=N/A androidboot.selinux=permissive androidboot.hardware=rk30board androidboot.console=ttyFIQ0 init=/init initrd=0x62000000,0x00800000 mtdparts=rk29xxnand:0x00002000@0x00002000(uboot),0x00002000@0x00004000(trust),0x00002000@0x00006000(misc),0x00008000@0x00008000(resource),0x0000C000@0x00010000(kernel),0x00010000@0x0001C000(boot),0x00010000@0x0002C000(recovery),0x00038000@0x0003C000(backup),0x00040000@0x00074000(cache),0x00400000@0x000B4000(system),0x00008000@0x004B4000(metadata),0x00100000@0x004BC000(vendor0),0x00100000@0x005BC000(vendor1),-@0x006BC000(userdata)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要将RK3288设备升级到Android 7.1并root,您可以按照以下步骤进行操作: 1. 下载适用于RK3288Android 7.1固件,确保固件是适用于您的设备型号的版本。 2. 将设备连接到电脑,并将固件文件复制到设备的内部存储或SD卡中。 3. 打开设备设置,找到“关于设备”选项,然后点击“软件版本”多次,直到开启开发者选项。 4. 返回上级菜单,找到“开发者选项”,然后进入并启用“USB调试”选项。 5. 断开设备与电脑的连接,并将设备关机。 6. 进入设备的恢复模式。不同设备的进入方法可能有所不同,通常是按住音量减和电源键直到进入恢复模式。 7. 在恢复模式下,使用音量键导航到“安装Zip文件”或类似选项,并使用电源键确认选择。 8. 导航到存储设备上的固件文件,选择并确认安装。 9. 安装完成后,在恢复模式下重新启动设备。 10. 下载适用于Android 7.1的root工具,如Magisk或SuperSU。 11. 确保设备已连接到电脑,将root工具复制到设备的内部存储或SD卡中。 12. 断开设备与电脑的连接,并将设备关机。 13. 重新进入恢复模式,导航到“安装Zip文件”或类似选项。 14. 选择并确认安装root工具。 15. 完成root工具的安装后,重新启动设备。 现在,您的RK3288设备应该已成功升级到Android 7.1并root。请注意,root操作可能会使设备的保修失效,并可能存在安全风险,请谨慎操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值