当前位置: 首页 > article >正文

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

软件版本:Android14

硬件平台:QCS6115

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

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

    改动如下:

1、分区压缩选项关闭:

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、配置进程用户组:

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.


http://www.kler.cn/a/451764.html

相关文章:

  • ASP.NET Core 中,Cookie 认证在集群环境下的应用
  • 汽车基础软件AutoSAR自学攻略(四)-AutoSAR CP分层架构(3) (万字长文-配21张彩图)
  • DDD - 微服务设计与领域驱动设计实战(上)_统一建模语言及事件风暴会议
  • Python statistics 模块
  • 树莓派-5-GPIO的应用实验之GPIO的编码方式和SDK介绍
  • 编程题-二分查找
  • PR基础(2)
  • Java 中反射的高级用法:窥探 Java 世界的魔法之门
  • 《Vue进阶教程》第二十课:lazy懒执行
  • HDMI、MIPI、DP的区别和用途
  • Spring_05_IOC容器启动细节
  • 亚信安全与方天股份达成战略合作,双向奔赴助力数字化转型
  • vue3入门教程:reactive函数
  • 04、Vue与Ajax
  • Neo4j Desktop 无法打开
  • 字符编码(二)
  • V900新功能-电脑不在旁边,通过手机给PLC远程调试网关配置WIFI联网
  • Info.plist contained no UIScene configuration dictionary (looking for configura
  • What‘s the term “unused memory“ in PyTorch?
  • 16爬虫:使用requests和scrapy分别从链家获取二手房信息
  • 什么是微端游戏?微端应该选择什么配置的服务器?
  • 2024 Gartner 数据库魔力象限概要解读
  • js和html中,将Excel文件渲染在页面上
  • vue3封装而成的APP ,在版本更新后,页面显示空白
  • 2024年种子轮融资趋势:科技引领,消费降温
  • 【理解机器学习中的过拟合与欠拟合】