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

server/2024/12/28 13:53:42/

软件版本: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 := truePRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.enabled=true-PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.compression.enabled=true
+PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.compression.enabled=falsePRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.userspace.snapshots.enabled=truePRODUCT_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 := falsePRODUCT_VIRTUAL_AB_COMPRESSION_METHOD ?= nonePRODUCT_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 --foreclass late_startuser rootgroup root system wakelock inet cache media_rw
-    task_profiles OtaProfiles
+    task_profiles CPUSET_SP_FOREGROUNDdisabledon property:ro.boot.slot_suffix=*

Mark it.


http://www.ppmy.cn/server/153928.html

相关文章

EKF 自动匹配维度 MATLAB代码

该 M A T L A B MATLAB MATLAB代码实现了扩展卡尔曼滤波( E

Python 和 Pandas 版本的对应关系

在使用 Python 和 Pandas 时,确保它们的版本兼容是非常重要的。以下是 Python 和 Pandas 版本的对应关系,帮助你选择合适的版本。 安装示例 如果你使用的是 Python 3.9,并希望安装与之兼容的 Pandas 版本,可以使用以下命令&#…

Milvus 中,FieldSchema 的 dim 参数和索引参数中的 “nlist“ 的区别

在 Milvus 中,FieldSchema 的 dim 参数和索引参数中的 "nlist" 是两个完全不同的概念,它们分别用于不同的目的。下面我将详细解释两者的区别: 1. FieldSchema 中的 dim 参数 定义:dim 参数用于指定向量字段的维度&…

商品线上个性定制,并实时预览3D定制效果,是如何实现的?

商品线上3D个性化定制的实现涉及多个环节和技术,以下是详细的解释: 一、实现流程 产品3D建模: 是实现3D可视化定制的前提,需要对产品进行三维建模。可通过三维扫描仪或建模师进行建模,将产品的外观、结构、材质等细…

国密算法SM3的GmSSL代码Android实现Demo

目录 1 国密算法简介 2 SM3的Android JNI代码实现 3 演示Demo 3.1 开发环境 3.2 功能介绍 3.3 下载地址 1 国密算法简介 国密算法是国家商用密码算法的简称。自2012年以来,国家密码管理局以《中华人民共和国密码行业标准》的方式,陆续公布了SM2/SM…

Dataset Distillation with Attention Labels for Fine-tuning BERT

文章使用了DD更新的方式,就是先使用蒸馏数据集训练一个模型,然后计算真实数据在这个模型上的损失,更新蒸馏数据集。 文章的做法是:在训练蒸馏数据集网络时,加入了attention损失 这时候生成数据集不仅仅包含原始数据x和…

使用RKNN进行YOLOv8人体姿态估计的实战教程:yolov8-pose.onnx转yolov8-pose.rknn+推理全流程

之前文章有提到“YOLOv8的原生模型包含了后处理步骤,其中一些形状超出了RK3588的矩阵计算限制,因此需要对输出层进行一些裁剪”,通过裁剪后得到的onnx能够顺利的进行rknn转换,本文将对转rnkk过程,以及相应的后处理进行阐述。并在文末附上全部源码、数据、模型的百度云盘链…

Java/JDK下载、安装及环境配置超详细教程【Windows10、macOS和Linux图文详解】

JAVA最新版JDK 23 安装教程详解 Java Development Kit (JDK) 23 是Oracle发布的最新长期支持版本 (LTS) 之一,它带来了许多新特性和改进。 本教程将详细介绍如何在Windows、macOS和Linux系统上安装JDK 23,并涵盖一些常见问题和解决方法。 一、 准备工作…