前言
这款APP最初是为了方便我的魅族20Pro使用的,慢慢的也改了很多BUG,更新了很多,也完善了很多,最近花时间重新写了一下APP,自己也了解了许多关于OTA相关的东西。特别是基本上把update_engine源码看了一遍,更为了解Android OTA升级过程。
软件特色
- 理论支持所有
V-A/B机型使用 - 在魅族20系列上判断当前解锁方案是否为
完成解锁,如果不是,将转换为完整解锁用来解决非法解锁问题 - 更新后由用户选择保留
Root的方案(支持Magisk,KernelSU,APatch) - 当选择的
Rom为增量包时,提供还原镜像操作(支持Magisk,KernelSU,APatch)
注意事项
- 因为Android对后台服务的限制,请在更新时尽量保持软件前台
- 如果出现卡进度的情况,可以结束应用后台,重新选择ROM包刷入,刷入的进度不会重置
- 在刷入时请确保ROM包是完整的
- 在保留Root时,不支持互转环境(例如:当前为KernelSU,保留时选择APatch)
- 如果给了Root权限后,依旧提示无权限,请结束app后重新打开即可
- 增量包更新的出现错误码20,需要首次在助手里使用全量包进行更新,这样后续就能使用增量包了(部分设备)
软件截图

更新日志
修复APath还原镜像问题
update_engine错误码errorcode
//android/system/update_engine/common/error_code.h
// Action exit codes.
enum class ErrorCode : int {
kSuccess = 0, //升级成功
kError = 1, //升级失败
kOmahaRequestError = 2, //请求action错误(action机制用于控制升级每个步骤)
kOmahaResponseHandlerError = 3, //返回handler action错误
kFilesystemCopierError = 4, //文件系统拷贝错误
kPostinstallRunnerError = 5, //预编译运行步骤错误(PostinstallRunner是一个升级步骤)
kPayloadMismatchedType = 6, //NOT NEED
kInstallDeviceOpenError = 7, //安装设备打开错误
kKernelDeviceOpenError = 8, //内核设备打开错误
kDownloadTransferError = 9, //下载传输错误
kPayloadHashMismatchError = 10, //升级包hash未匹配错误
kPayloadSizeMismatchError = 11, //升级包size未匹配错误
kDownloadPayloadVerificationError = 12, //下载过程升级包校验错误
kDownloadNewPartitionInfoError = 13, //下载过程新分区信息错误
kDownloadWriteError = 14, //下载过程数据写入错误
kNewRootfsVerificationError = 15, //升级分区hash校验失败
kNewKernelVerificationError = 16, //升级kernel校验失败
kSignedDeltaPayloadExpectedError = 17, //NOT NEED
kDownloadPayloadPubKeyVerificationError = 18, //下载过程升级包public key公钥校验错误
kPostinstallBootedFromFirmwareB = 19, //NOT NEED
kDownloadStateInitializationError = 20, //下载状态初始化错误
kDownloadInvalidMetadataMagicString = 21, //NOT NEED
kDownloadSignatureMissingInManifest = 22, //下载过程manifest缺少签名错误
kDownloadManifestParseError = 23, //下载过程manifest分析错误
kDownloadMetadataSignatureError = 24, //下载过程元数据签名错误
kDownloadMetadataSignatureVerificationError = 25, //下载过程元数据签名校验错误
kDownloadMetadataSignatureMismatch = 26, //下载过程元数据签名不匹配错误
kDownloadOperationHashVerificationError = 27, //下载过程操作hash校验错误
kDownloadOperationExecutionError = 28, //下载过程操作执行错误
kDownloadOperationHashMismatch = 29, //下载过程操作hash不匹配错误
kOmahaRequestEmptyResponseError = 30, //请求action无返回错误
kOmahaRequestXMLParseError = 31, //请求action分析xml错误
kDownloadInvalidMetadataSize = 32, //下载过程非法元数据大小
kDownloadInvalidMetadataSignature = 33, //下载过程非法元数据签名
kOmahaResponseInvalid = 34, //返回action非法错误
kOmahaUpdateIgnoredPerPolicy = 35, //NOT NEED(含义是接收已回滚版本,忽略此次升级)
kOmahaUpdateDeferredPerPolicy = 36, //NOT NEED(含义是因更新策略延迟,忽略此次升级)
kOmahaErrorInHTTPResponse = 37, //HTTP返回错误
kDownloadOperationHashMissingError = 38, //下载过程操作时缺失hash错误
kDownloadMetadataSignatureMissingError = 39, //下载过程元数据签名缺失错误
kOmahaUpdateDeferredForBackoff = 40, //NOT NEED(含义是忽略本次升级)
kPostinstallPowerwashError = 41, //NOT NEED(回滚报错,该版本已去除版本回滚限制)
kUpdateCanceledByChannelChange = 42, //通道变化升级取消
kPostinstallFirmwareRONotUpdatable = 43, //NOT NEED(需要升级固件firmware时才会取消,因为无法从FW B分区启动到FW A分区)
kUnsupportedMajorPayloadVersion = 44, //获取manifest偏移量错误
kUnsupportedMinorPayloadVersion = 45, //未manifest可支持更小版本错误
kOmahaRequestXMLHasEntityDecl = 46, //请求action xml hash非法错误
kFilesystemVerifierError = 47, //文件系统校验错误(FilesystemVerifier是一个升级步骤)
kUserCanceled = 48, //用户取消
kNonCriticalUpdateInOOBE = 49, //NOT NEED(Ignoring a non-critical Omaha update before OOBE completion.)
kOmahaUpdateIgnoredOverCellular = 50, //NOT NEED(未设置设备策略,因此用户首选项需要覆盖是否允许通过蜂窝网络进行更新)
kPayloadTimestampError = 51, //升级包时间戳错误 (payload.bin是OTA镜像打包文件)
kUpdatedButNotActive = 52, //升级分区非action状态错误
kNoUpdate = 53, //无升级(There are no updates. Aborting.)
kRollbackNotPossible = 54, //NOT NEED
kFirstActiveOmahaPingSentPersistenceError = 55, //NOT NEED(用于旧设备的Omaha校验)
kVerityCalculationError = 56, //校验计算错误(在FilesystemVerifier步骤中进行分区校验时)下载地址
蓝奏云下载:https://yowal.lanzoub.com/b028mu4ah
69 条评论
更新服务器错误,请重试怎么解决
检测到你选择的 ROM 包可能为增量包,需要还原
镜像才能更新,啥意思,急求急求???
更新失败,错误码26是为啥呀,之前可以更
说错了,错误码28
极星手机可以通过这个app不解锁不root刷入领克系统吗
不解锁不行哦,我这个app需要有root才能使用
支持KernelSU Next吗
理论上可以的
请问OriginOS5怎么保root升级小版本
一样的,全量包直接刷
请问一下博主,一加手机可以用vab助手降级安装全量包降级吗?
可以,自己试过
试过,氧14降氧13正常
请问错误代码60是什么问题,需要怎么解决
附议
一直卡在准备更新这
应该是包不完整,重新下一下包
覆盖了全量包依然提示错误20是什么原因?
可能是包不完整,你校验下哈希值
反正小米也能拿来更新系统
蓝厂已root手机可以用吗
可以哒
强解BL的也直接刷就行吗,不用关模块那些吗?
想问一下大佬我现在是最新系统,我去官网再下载一个最新系统的安装包更新会怎样,或者更新完跟之前有什么区别
就是平刷系统一样,没啥区别,
安卓跨版本也可以吗
可以的。但是跨版本最好清数据,毕竟更新了底层
请问这个是全机型通用的吗
另外再想请教一下,现在还有改系统自带UI声音的模块吗,安卓14我现在改不了system文件夹,以前用的一个zip模块现在也不生效了
可能是我版本的问题,我之前一直没找到相关的助手更新,一直用的旧的,等过段时间再有小补丁更新的话我试一下304新版本
请问V-AB更新后,系统进了Recovery,必须要清除数据才能打开,是哪里操作问题吗,魅族的系统
版本数据结构有变化,这种情况下是需要清数据的,(大概是版本相差大)
请问V-AB更新后,系统进了Recovery,必须要清除数据才能打开,是哪里操作问题吗,魅族的系统
理论上是的
打赏二维码图片被图床删了
V-AB要是能做成xposed模块hook系统更新实现安装ota包保留root就更酷了
有想过这个方式,但是这样,我觉得麻烦,一样要给系统更新root权限才可以
大佬 报错 51 是什么原因呢
时间戳错误,应该是你要降级
怎么解决
之前还可以降级呢
魅族21,解bl了,magisk,更新时提示错误代号7,求大佬解惑
错误代号7是很迷的,我都不止是啥
我也遇到错误代码7,就魅族官方自带的解root,我本来解过bl锁了,但手贱试了一下魅族设置里自带的官方root,然后再这个助手更新会失败,magisk本身也会出问题
俺也一样
更新包删完重新下载试试
试过了,没有用
2.25可以获得root权限,但3.0.3就没有root提示,咋解决?
魅族20c,已解锁。
2.25可以更新,但更新后提示清除数据。
现10.5.5.1想升级11,用的全量包。
这种情况下还是需要清除数据的,
魅族20无界版,更新助手3.0.3,授权root会黑屏,然后提示获取失败,有办法解决吗?
希望小米14 Pro也能无损使用该APP,感谢分享
可以的,能用的
跪求大佬适配Apatch的保留root更新
这个我还没用过呢,首先我还得了解下,怎么去判断当前root是apatch方式的,过几天有时间可以研究下。
魅族20在9.10内测升级到9.18内测时提示错误代码51,重启无解,root方式为apatch
错误码60是什么问题啊
内置到手机的系统分区,给了系统权限,能替换系统的update_engine实现任意更新吗?
任意更新是什么意思
我哭死 还有歌
目前apatch有保root更新的sh,不知道这个对您是否有帮助,您好像已经换手机了,如果您愿意适配我可以提供来测试!
已适配
大佬会适配apatch next吗
魅族18x降级后无法开机
降级需要清数据才行
求一个解锁的方法
魅族只能花钱解锁了....
好嘛