[高通MSM8953_64][Android10]解决制作差分包不生成system_manifest.xml的问题

article/2025/9/22 13:06:28

文章目录

    • 开发平台基本信息
    • 问题描述
    • 解决方法

开发平台基本信息

芯片: MSM8953_64
版本: Android 10
kernel: msm-4.9

问题描述

设备在调试OTA升级功能的时候,制作OTA全量包测试升级功能,升级正常;然后,测试差分包升级失败了;以前差分包升级失败有以下几种可能:

  1. 签名不一致,例如固件编译用的是test key,而制作差分包用了release key
  2. 固件是直接用的out目录生成的文件制作的,正常是要用make dist生成的img的压缩文件中的system跟vendor两个镜像烧录的固件才能进行OTA升级

这两种坑都排除了,因为这个打包脚本我在其他平台上都用过很多了,肯定是没有问题的;只能把设备中recovery升级的日志导出来看一下,是哪里出问题了;日志保存路径cache/recovery/;将日志导出来可以看到日志报了Failed to verify package compatibility的错误,具体日志如下:

[ 12.872568] I:Verifying package compatibility...
[ 12.915551] W:Cannot fetch /system/etc/vintf/manifest.xml: Cannot open /mnt/system//system/etc/vintf/manifest.xml: No such file or directory
[ 12.917319] W:Cannot open /mnt/system//system/manifest.xml: No such file or directory
[ 12.919046] W:Cannot open /mnt/system//system/etc/vintf/: No such file or directory
[ 12.920785] W:Cannot open /mnt/system//system/compatibility_matrix.xml: No such file or directory
[ 12.932883] E:Cannot unmount / at /mnt/system: Invalid argument
[ 12.955553] E:Failed to verify package compatibility (result -19): No framework manifest file from device or from update package
[ 12.972096] E:No framework matrix file from device or from update package
[ 12.998578] W:failed to read uncrypt status: No such file or directory
[ 13.013025] W:Failed to read /sys/class/thermal/thermal_zone20/temp: Invalid argument
[ 13.027681] I:current maximum temperature: 51000
[ 13.028220] I:/sideload/package.zip

然后,我对比是全量包跟差分包,发现差分包的compatibility.zip中只有两个文件,而全量包有4个文件;
全量包:
在这里插入图片描述

差分包:
在这里插入图片描述

解决方法

造成差分包升级失败的原因就是compatibility.zip中少了两个system的文件;而导致少了两个system文件的原因就是两个target包中的版本号是相同,所以会导致制作差分包的时候过滤掉system一些文件。正常每次编译的版本号都是不同的,而我们这套代码是因为供应商改过BUILD_NUMBER,把它改成了固定值,从而导致了这个问题;将BUILD_NUMBER改为带时间即可,这样每次编译就都会改变。

--- a/build/make/core/version_defaults.mk
+++ b/build/make/core/version_defaults.mk
@@ -312,7 +312,7 @@ ifndef BUILD_NUMBER# If no BUILD_NUMBER is set, create a useful "I am an engineering build# from this date/time" value.  Make it start with a non-digit so that# anyone trying to parse it as an integer will probably get "0".
-  BUILD_NUMBER := SIM8950lhcB01V02_A10
+  BUILD_NUMBER := eng.$(shell $(DATE) +%Y%m%d.%H%M%S)HAS_BUILD_NUMBER := falseendif.KATI_READONLY := BUILD_NUMBER HAS_BUILD_NUMBER

http://chatgpt.dhexx.cn/article/LqRWA7h7.shtml

相关文章

4G全网通模块 安卓 高通骁龙MSM8909核心板 开发板

核心板特性 A53架构 8核(8*2.2GHz(A53)) 产品尺寸小,便于客户集成,减少产品体积;支持4G LTE超高速上网,单板兼容移动/联通/电信2G/3G/4G;支持4+128存储器,SD3.0支持128G;尺寸小、集成度高、大板布板灵活;支持全网通=、wifi双频;支持快充,QC3.04线MIPI 分辨率1920*1280…

【EMMC】MSM8953里时钟是如何分频的

时钟源 MSM8953振荡频率为19.2 MHz的单晶振荡器(XO)。XO作为所有pll的源,也可以作为其他时钟的源。MSM8953没有单独的休眠晶体,使用586的除数从XO生成睡眠时钟32.768khz作为时钟信号源。 分析代码 在host中probe函数里有在初始…

高通625系列-MSM8953 (Cortex-A53架构)

核心板特性 A53架构 8核(8*2.2GHz(A53)) 产品尺寸小,便于客户集成,减少产品体积;支持4G LTE超高速上网,单板兼容移动/联通/电信2G/3G/4G;支持4128存储器,SD3.0支持128G;尺寸小、集成…

如何收集 小番茄的种子

1.把西红柿切成两半,注意要从果柄处对切。 2.打开西红柿,你应该可以看到西红柿基本上分成四个均匀的部分,每个部分之间有种子和凝胶。 3.找一个小勺子挖出种子,你也可以直接用挤出的方法把种子挤出来,放在小碗里&#…

IOS破解软件,比较全的网站。

转载于:https://blog.51cto.com/14259888/2369621

2023最新仿第八区APP分发平台源码

**> 支持APK,IPA分发 ,在线本机ios签名,安卓ios应用封装****> 需要看演示站可以联系https://jq.qq.com/?_wv1027&kjZBe9aHx**

iApp对接hybbs社区APP源码

介绍: 首先得搭建一个HYBBS论坛程序 服务器或者主机不能带有任何cc,防火墙策略! 否则软件提交参数会被拦截,则null mian.iyu载入事件填自己的hybbs论坛网址 http打头 /结尾 论坛模板使用官方默认,移动端设置电脑端模板…

苹果应用商店app_切勿更新!IOS最新观影APP上架苹果商店

苹果软件管家 每个果粉都应该关注的一个公众号 原本前天想给大家推送一款影视APP 结果管家刚写完APP就被下架了 相信今天应该不会出现这个问题了 相信果粉们都知道大象影视这款APP 很早之前就下载体验过 但是效果真的一般,广告很多 本次大象影视换壳上架苹果应用商店…

梦幻星球社区APP源码 HYBBS的iApp社区源码

介绍: 极其好用的对接HYBBS的iApp社区源码 BUG修复: 修复评论无法显示 修复无法发送评论 修复头像显示 修复板块图片 … 更新: 新增功能页面 优化回复评论 优化帖子、帖子列表 优化我的、个人主页页面 优化注册、登录页面 增加背景设置 网盘…

iOS应用跳转(包括iPhone原有应用跳转和第三方应用跳转)

文章目录 iOS应用间跳转简介应用间跳转应用场景应用间跳转实现步骤跳转到本地或第三方应用的一些URL Schemes iOS应用间跳转简介 在开发的过程中,我们经常会遇到需要从一个应用程序跳转到另一个应用程序的场景。这就需要我们掌握iOS应用程序之间的相互跳转知识。 …

iOS开发~社区分享

1、概要 随着iOS平台逐渐成熟,连最初让人恼火的社区分享功能现在都变的几行代码就可以搞定,下面分享下“分享”功能原生实现。 2、实现 iOS6之前使用TWTweetComposeViewController实现分享功能,但iOS6之后改用SLComposeViewController实现&…

番茄助手 VS2015

转载地址: https://www.cnblogs.com/DswCnblog/p/5625893.html 首先在官网下载原版: VA_X_Setup2270_0.exe VA_X官方下载链接:http://www.wholetomato.com/downloads/default.asp 安装官版。 下载补丁 。 下载链接: http://pan.baidu.c…

linux安装番茄时钟,Tomato Pie番茄钟

Tomato Pie插件简介 Tomato Pie 是一款开源的Chrome 新标签页扩展,适用于番茄工作法,直观,简单,拥有马赛克统计图、浏览器通知、扩展栏图标倒计时等功能。我们之前介绍过一款just Focus - 番茄钟免费应用软件(Mac、iOS)。 番茄钟是…

番茄学习--番茄工具推荐

首先,这个工具是青峰推荐的,自己觉得用的很顺手,就推荐给大家。 这是一个在线的番茄学习工具--番茄土豆。他的网址是:https://pomotodo.com/ 下面我来说说这个工具的特点吧: 首先,在开始番茄之前,你什么都不用想,只需要点击“开始一个番茄”按钮即可。这样你就开始了一…

番茄助手 VS2015

转载地址: https://www.cnblogs.com/DswCnblog/p/5625893.html 1. 首先在官网下载原版: VA_X_Setup2270_0.exe VA_X官方下载链接:http://www.wholetomato.com/downloads/default.asp 2. 安装官版。 3. 下载补丁 。 下载链接: http:/…

短视频平台-小说推文(番茄小说)推广任务详情

字节旗下平台:番茄小说 今日头条,抖音故事,抖音漫画官方每周只出一次数据!!!!! 预计每周二出上周四之前的数据,有时官方回传数据较晚,会延迟到周三出! 请达人知悉! 注意: 再次强调!番茄拉新规则! 是以设备第一次下载番茄小说后搜…

找不到或无法加载主类

springboot项目时不时的就会出现这个错误, 错误: 找不到或无法加载主类 com.ruoyi.RuoYiApplication 解决方案: 自己在maven clean之后,会把target里边的清理表,项目就需要重新进行编译,这时候如果运行的话就会出现以上…

运行mvn -v时报错:找不到或无法加载主类 org.codehaus.plexus.classworlds.launcher.Launcher

运行 mvn -v 时候出现报错 找不到或无法加载主类 org.codehaus.plexus.classworlds.launcher.Launcher 其中的可能原因为下载maven时下载了这个版本的maven(src) 应该下载这个版本maven(bin)

关于无法加载localhost/9/Login的问题以及解决办法(小白的我,大佬略过)

关于无法加载localhost:8088/9/Login的问题以及解决办法(小白的我,大佬略过) **这是我出现的问题。**那么如何解决呢?请看下面的图 其实就是正常的代码问题,我认为这个是我之前的习惯造成的! 正…

错误: 找不到或无法加载主类 org.codehaus.plexus.classworlds.launcher.Launcher

起因:由于在做两个java项目,使用的jdk和maven都不一致,所以导致环境变量有些混乱 看来是maven出问题了 cmd mvn -v 果然,报错如下 The JAVA_HOME environment variable is not defined correctly This environment variable is …