Android OTA升级常见问题的解决方法

文章讲述了在编译Android7及以上版本时遇到的jack-server报错问题,建议避免在多用户服务器上编译或修改配置。另外,OTA升级时间戳校验错误可通过确保更新包时间戳更新或禁用校验解决。JDK版本不匹配需使用兼容版本。手动pushupdate包时应避免使用adbremount,以免升级失败。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.1 多服务器编译 OTA 报错

Android7 以后引入了 jack-server 功能,也导致在公共服务器上 编译 Android7 以上的版本时,会出现 j ack-server 报错问题。

在这里插入图片描述
在多用户服务器上 编译 dist 时 会出现编译过程中 会将 port_service 和 port_admin 改为 默认的 8076 和 8077。
目前 没有发现什么好的解决方式:
1.尽量 避免在多用户服务器上 编译 dist 。
2.若是必须在多用户服务器上编译 dist 则需要将 jack-setting 和 jack-server 里的 config 文件中
将 port_service 改为相同的 8076 //改为默认值
将 port_admin 改为相同的 8077 //改为默认值
根目录下 vi .jack-setting 即可进行配置

1.2 OTA 升级时间戳校验报错

我们在 recovery 升级的时候,经常提示这样的错误:
Installingupdate…
Can’tinstall this package(TueJun2712:29:30CST2017)overnewerbuild(MonJun2617:20:32CST2017)
E:Errorin/udisk/xxxx.zip
(Status7)

意思就是,我们不能从新的版本升级到旧的系统,有个时间戳的比较。
针对此问题有如下解决方式:
1.每次编译 OTA包的时候 都应该先 make clean,之后重新编译,保证 update 包的 UTC 时间比需要升
级的基础版本的 UTC 时间要新。
2.去除时间戳校验(默认是不建议客户这么做):
./build/tools/releasetools/ota_from_target_files 传入参数–no_prereq 即可,那么编译生成的升级包不再包 含时间戳校验。 原因:如果时间戳校验失败,既 OTA包没有设备中的 recovery 的编译时间早

1.3 JDK 版本不匹配

Unsupported major.minor version 52.0: 看到 Unsupported 想到 jdk 高版本能兼容低版本,但是 低版本不能兼容高版本

在这里插入图片描述
修改方法: sudo update-alternatives --config java

在这里插入图片描述

1.4 手动 push update 包时候不要有 adb remount

在 ota 升级的时候不要有 adb remount 这样的动作
adb remount 会导致 system 发生改变,会导致升级的时候哈希值发生改变,升级失败

Android OTA(Over-The-Air)升级是指通过网络传输直接在设备上进行系统升级的一种方法。下面简要介绍Android OTA升级的流程以及常见问题分析。 Android OTA升级流程通常包括以下几个步骤: 1. 系统准备:开发者根据新版本的要求,为设备准备升级所需的系统文件。这些文件包括操作系统文件、应用程序文件以及升级脚本等。 2. 设备请求:设备通过连接到网络,并向服务器请求最新的系统升级。服务器根据设备的型号和当前系统版本,判断是否需要进行升级。 3. 传输升级文件:如果服务器确认设备需要进行升级,那么就会将升级文件传输给设备。这通常是通过HTTP或FTP等协议进行数据传输。 4. 升级验证:设备接收到升级文件后,会进行文件校验,以确保文件的完整性和一致性。 5. 升级安装:设备在校验通过后,会进行系统升级安装。这通常会涉及到文件解压、系统分区扩展等操作。 6. 安装后处理:升级完成后,设备会重新启动并进行一些后期处理工作,例如数据迁移、应用优化等。 常见问题分析: 1. 升级失败:升级过程中可能出现各种原因导致升级失败,如网络中断、升级文件损坏、设备存储空间不足等。解决方法可以包括重新尝试升级、检查网络连接、清理设备存储空间等。 2. 兼容性问题:新版本的系统可能对设备硬件或软件要求更高,而一些老旧设备可能无法满足这些要求。这可能导致升级后设备性能下降或功能不可用。解决方法可以是提供适配的系统版本或更新设备硬件。 3. 数据丢失:升级过程中可能导致设备的数据丢失,包括联系人、短信、应用程序数据等。为了避免这种问题,可以提醒用户备份数据或提供数据迁移工具。 4. 升级时间过长:升级过程可能需要较长时间,尤其是在升级文件较大或设备性能较低的情况下。解决方法可以是优化升级文件的大小和传输速度,或提供快速升级选项。 总结:Android OTA升级通过网络直接在设备上进行系统升级,流程包括准备、请求、传输、验证、安装和处理。常见问题包括升级失败、兼容性问题、数据丢失和升级时间过长等,需要通过合适的解决方法来处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值