Andorid OTA A/B升级

参考 A/B(无缝)系统更新

升级后的显著变化是 ro.build.date.utc 、和 版本号 发生变化。

ro.odm_dlkm.build.date=Thu Mar 28 01:09:45 UTC 2024
ro.odm_dlkm.build.date.utc=1711588185ro.odm.build.date=Thu Mar 28 01:09:45 UTC 2024
ro.odm.build.date.utc=1711588185ro.product.build.date=Thu Mar 28 01:09:45 UTC 2024
ro.product.build.date.utc=1711588185ro.system_dlkm.build.date=Thu Mar 28 01:09:45 UTC 2024
ro.system_dlkm.build.date.utc=1711588185ro.system.build.date=Thu Mar 28 01:09:45 UTC 2024
ro.system.build.date.utc=1711588185ro.build.date=Thu Mar 28 01:09:45 UTC 2024
ro.build.date.utc=1711588185ro.system_ext.build.date=Thu Mar 28 01:09:45 UTC 2024
ro.system_ext.build.date.utc=1711588185ro.vendor_dlkm.build.date=Thu Mar 28 01:09:45 UTC 2024
ro.vendor_dlkm.build.date.utc=1711588185ro.vendor.build.date=Thu Mar 28 01:09:45 UTC 2024
ro.vendor.build.date.utc=1711588185

应用执行A/B申请流程

待续

Selinux 权限问题

A/B 升级会有 Selinux 权限问题,会需要修改 update_engine.te 。

调试导致校验失败

A/B升级关键的 TAG 是 update_engine

升级时校验失败,log

04-12 16:34:43.879   653   653 E update_engine: Cannot create update snapshots with overlayfs setup. Run `adb enable-verity`, reboot, then try again.
04-12 16:34:43.881   653   653 E update_engine: [ERROR:dynamic_partition_control_android.cc(971)] Cannot create update snapshots: Error
04-12 16:34:43.884   653   653 E update_engine: [ERROR:dynamic_partition_control_android.cc(516)] PrepareSnapshotPartitionsForUpdate failed in Android mode
04-12 16:34:43.886   653   653 E update_engine: [ERROR:delta_performer.cc(744)] Unable to initialize partition metadata for slot B
04-12 16:34:43.888   653   653 E update_engine: [ERROR:download_action.cc(227)] Error ErrorCode::kInstallDeviceOpenError (7) in DeltaPerformer's Write method when processing the received payload -- Terminating processing

很显眼的 adb enable-verity

为了方便调试,之前有进行 adb rootadb remount ,所以检验失败。

执行 adb rootadb enable-verity 后可以校验、升级成功。

谨记:测试OTA时,打底软件不要做调试操作

调试操作包括但不限于:

  • adb root;adb remount
  • 串口执行 mount -o rw,remount /system 等挂载命令

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/810969.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

排序算法-桶排序

桶排序是一种基于计数的排序算法,它的核心思想是将待排序的元素分到不同的桶中,然后对每个桶中的元素进行排序,最后将所有桶中的元素依次取出来就得到了有序的结果。 具体的实现步骤如下: 创建一个固定大小的桶数组,…

epic免费游戏在哪里领 epic免费游戏怎么领取 图文教程一看就会

Epic Games是一家位于美国北卡罗来纳州卡里的视频游戏和软件开发商,由Tim Sweeney于1991年创立。该公司最著名的作品包括《堡垒之夜》和虚幻引擎,后者是一种广泛用于游戏开发的商用游戏引擎。Epic Games在2020年和2024年分别与索尼和迪士尼达成财务合作及…

ARM架构麒麟操作系统安装配置Mariadb数据库

、安装配置JDK (1)检查机器是否已安装JDK 执行 java -version命令查看机器是否安装JDK,一般麒麟操作系统默认安装openjdk 1.8。 (2)安装指定版本JDK 如果麒麟操作系统默认安装的openjdk 1.8不符合需求的话,可以卸载机器安装的openjdk 1.8并按需安装所需的openjdk版本…

Mybatis 执行批量插入

首先,创建一个简单的 insert 语句: <insert id”insertname”>insert into names (name) values (#{value}) </insert>然后在 java 代码中像下面这样执行批处理插入: list < string > names new arraylist(); names.add(“fred”); names.add(“barney”)…

#esp8266模块通过AT指令获取网络时间(苏宁时间)

一、IDE&#xff1a;keil、cubemx、Arduino......... 二、记录&#xff1a; 1.依次发送以下指令&#xff08;发送新行&#xff09; AT ATCWMODE1 ATCWDHCP1,1 ATCWJAP"Redmi K40 Gaming","87654321" ATCIPSTART"TCP","quan.suning.com&quo…

Leetcode110_平衡二叉树

1.leetcode原题链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 2.题目描述 给定一个二叉树&#xff0c;判断它是否是 平衡二叉树 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;true示例 2&#xff1a; 输入&#xff1a;…

RabbbitMQ

初识MQ 同步通讯和异步通讯 什么是同步通讯呢&#xff1f;举个例子&#xff0c;你认识了一个小姐姐&#xff0c;聊的很火热&#xff0c;于是你们慢慢开始打电话&#xff0c;视频聊天&#xff0c;这种方式就成为同步通讯&#xff0c;那什么是一部通讯呢&#xff0c;同样的&…

【性能测试】接口测试各知识第3篇:Jmeter 基本使用流程,学习目标【附代码文档】

接口测试完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;接口测试&#xff0c;学习目标学习目标,2. 接口测试课程大纲,3. 接口学完样品,4. 学完课程,学到什么,5. 参考:,1. 理解接口的概念。学习目标&#xff0c;RESTFUL1. 理解接口的概念,2.什么是接口测试…

python知识点汇总(十一)

python知识点总结 1、当Python退出时&#xff0c;是否会清除所有分配的内存&#xff1f;2、Python的优势有哪些&#xff1f;3、什么是元组的解封装4、Python中如何动态获取和设置对象的属性&#xff1f;5、创建删除操作系统上的文件6、主动抛出异常7、help() 函数和 dir() 函数…

在vue3中使用pinia

在vue3项目中使用pinia 使用vite创建项目和安装pinia依赖 npm init vitelatest npm i pinia从pinia包中解构出defineStore函数创建store片段,这里有一个要注意的点是第一个参数是这个store的id,第二个参数类比vue2中的script内容,state对应data,actions对应methods import {…

mybatis05:复杂查询:(多对一,一对多)

mybatis05&#xff1a;复杂查询&#xff1a;&#xff08;多对一&#xff0c;一对多&#xff09; 文章目录 mybatis05&#xff1a;复杂查询&#xff1a;&#xff08;多对一&#xff0c;一对多&#xff09;前言&#xff1a;多对一 &#xff1a; 关联 &#xff1a; 使用associatio…

Java开发环境安装

Java开发环境安装 1、JDK安装2、Maven安装3、MySQL安装4、Tomcat安装5、Nodejs安装 1、JDK安装 java环境搭建问题之——此环境变量太大。此对话框允许将值设置为最长2047个字符。“ 解决方法: Windows下Java环境配置教程 2、Maven安装 Maven配置教程 3、MySQL安装 mysql8…

机器学习和深度学习常见算法

监督学习算法对比 线性回归&#xff08;Linear Regression&#xff09; vs 支持向量机&#xff08;Support Vector Machine, SVM&#xff09; 线性回归&#xff1a; 特点&#xff1a;简单、易于理解和实现&#xff0c;基于线性假设建立输入和输出之间的关系。应用场景&#…

SV-7042V 40W网络有源音柱 智慧灯杆广播音柱

SV-7042V 40W网络有源音柱 一、描述 SV-7042V是深圳锐科达电子有限公司的一款壁挂式网络有源音柱&#xff0c;具有10/100M以太网接口&#xff0c;可将网络音源通过自带的功放和喇叭输出播放&#xff0c;其采用防水设计&#xff0c;功率40W。 SV-7042V作为网络广播播放系统的终…

lucas定理+数位dp+组合数学,蓝桥杯真题[组合数问题]

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1.组合数问题 - 蓝桥云课 (lanqiao.cn) 二、解题报告 1、思路分析 lucas > 分解为k进制数 > 一堆只包含若干小于k的数相乘的组合数相乘 mod k 为 0 > 某个组合数或某些组合数 下 < 上 > 求 …

redis怪谈

缓存穿透、击穿、雪崩 《缓存三兄弟》 穿透无中生有key&#xff0c;布隆过滤null隔离 缓存击穿过期key&#xff0c;锁与非期解难题 雪崩大量过期key&#xff0c;过期时间要随机 面试必考三 兄 弟&#xff0c;可用限流来保底 什么是缓存穿透 指查询一个一定不存在的数据&#x…

部署Redis

部署Redis过程简要记录 在家目录创建存放各类软件源码、安装文件、数据、日志、依赖等目录 cd /home/liqiang mkdir sourcecode software app log data lib tmp在 sourcecode 中下载Redis并解压 cd sourcecode wget http://download.redis.io/releases/redis-5.0.4.tar.gz t…

1. Django建站基础

1. Django建站基础 学习开发网站必须了解网站的组成部分, 网站类型, 运行原理和开发流程. 使用Django开发网站必须掌握Django的基本操作, 比如创建项目, 使用Django的操作指令以及开发过程中的调试方法.1.1 网站的定义及组成 网站(Website)是指在因特网上根据一定的规则, 使用…

C++ primer 第十八章

C语言的三大特性&#xff1a;异常处理、命名空间、多重继承。 1.异常处理 异常处理机制允许我们能够将问题的检测与解决过程分离开来。 1.1、抛出异常 在C语言中&#xff0c;我们通过抛出一条表达式来引发一个异常。 当执行一个throw时&#xff0c;程序的控制权从throw转移…

谷歌不收录怎么办?

谷歌不收录首先你要确认自己网站有没有出问题&#xff0c;比如你的网站是否已经公开&#xff0c;rboot是否允许搜索引擎进来&#xff0c;网站架构有没有问题&#xff0c;面包屑的结构是否有问题&#xff0c;确保你的网站没问题 接下来就是优化这个过程&#xff0c;有内容&#…