Android14 OTA升级速度过慢问题解决方案

软件版本:Android14

硬件平台:QCS6115

问题:OTA整包升级接近20min,太长无法忍受。

该问题为Android高版本的虚拟AB分区压缩技术所致,其实就是时间换空间,个人推测AB分区压缩会节约硬件存储空间,但是升级过程中会涉及解压缩再升级的耗时过程,取舍之间,我们计划关闭该配置,还有一个就是升级服务的进程用户组配置,这个大概提升五六分钟左右,两者结合起来,升级时长从20min缩减到五六分钟,达标!

改动如下:

1、分区压缩选项关闭:

bash 复制代码
diff --git a/target/product/virtual_ab_ota/android_t_baseline.mk b/target/product/virtual_ab_ota/android_t_baseline.mk
index 18e08e4e8e..2225a1dfbc 100644
--- a/target/product/virtual_ab_ota/android_t_baseline.mk
+++ b/target/product/virtual_ab_ota/android_t_baseline.mk
@@ -28,12 +28,12 @@ PRODUCT_VIRTUAL_AB_OTA := true
 
 PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.enabled=true
 
-PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.compression.enabled=true
+PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.compression.enabled=false
 PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.userspace.snapshots.enabled=true
 PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.io_uring.enabled=true
-PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.compression.xor.enabled=true
+PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.compression.xor.enabled=false
 
-PRODUCT_VIRTUAL_AB_COMPRESSION := true
+PRODUCT_VIRTUAL_AB_COMPRESSION := false
 PRODUCT_VIRTUAL_AB_COMPRESSION_METHOD ?= none
 PRODUCT_PACKAGES += \
     snapuserd \

2、配置进程用户组:

bash 复制代码
diff --git a/update_engine.rc b/update_engine.rc
index bc6447b2..d7a376d1 100644
--- a/update_engine.rc
+++ b/update_engine.rc
@@ -2,7 +2,7 @@ service update_engine /system/bin/update_engine --logtostderr --logtofile --fore
     class late_start
     user root
     group root system wakelock inet cache media_rw
-    task_profiles OtaProfiles
+    task_profiles CPUSET_SP_FOREGROUND
     disabled
 
 on property:ro.boot.slot_suffix=*

Mark it.

相关推荐
好的佩奇9 小时前
Dart 之扩展类型
android·flutter·dart
alexhilton11 小时前
2027 Android 开发者路线图:学习、面试与 AI
android·kotlin·android jetpack
灿飞屋13 小时前
Kotlin与Java虚拟机三:控制流
android·java·开发语言·后端·python·kotlin·安卓
疯华整猫14 小时前
我用 Trae 把 Android 内存账重算了一遍
android·性能优化·源码
TimeFine16 小时前
AI 编程工作流的设计:从人工判断到 AI裁判
android·ai编程
阿杰m16 小时前
Android源码第四章:Android 系统启动——App 的第一行代码从哪来?
android
疯华整猫20 小时前
混淆起初根本不是为了防破解:我用 Trae 把 Android 混淆这二十来年重跑了一遍
android·人工智能·计算机视觉
Carson带你学Android21 小时前
AI时代,你的 App 会被 Agent 这三种方式调用
android·ai编程
恋猫de小郭1 天前
Flutter 下 AOT 一个你怎么都想不出来的 Bug ,JIT 正常的计算,在 AOT 居然算错了
android·前端·flutter
好的佩奇2 天前
Dart 之扩展方法
android·flutter·dart