asysbang

 找回密码
 立即注册
查看: 4614|回复: 0
打印 上一主题 下一主题

android系统升级

[复制链接]

510

主题

2

好友

6313

积分

管理员

Rank: 80Rank: 80Rank: 80Rank: 80Rank: 80

最佳新人 活跃会员 热心会员 推广达人 宣传达人 灌水之王 突出贡献 优秀版主 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2015-3-18 10:12:03 |只看该作者 |倒序浏览
系统(rom)级别的上级和普通apk升级是不一样的
都是采用差分包的方式,goolge有提供对应的工具
国内rom厂商也会对应的差分包工具

现在一些apk的升级也采用了差分包的方式,能升一定的流量但实际意义不大


make  之后 make otapackage

这样会在

out/target/product/rmt8163_s_e/obj/PACKAGING/target_files_intermediates/full_rmt8163_s_e-target_files-1458108908.zip      计算差分包用

out/target/product/rmt8163_s_e/full_rmt8163_s_e-ota-1458108908.zip       全包升级用

通过下面的命令生成差分包
./build/tools/releasetools/ota_from_target_files         -i <A> <B>         <差分包名>      

验证差分包
在cache/recovery目录下
--update_package=/cache/update.zip>command     注意是两个--

然后reboot  recovery重启

重启之后可以在/cache/recovery/last_log文件查看上次升级的日志


=======MTK m8163 ===============
这套代码把update.zip放在/cahce目录可以正常升级,但是放到/sdcard/目录就不能升级了

查看recovery的log发现是 “Can't mount /storage/emulated/0/update.zip

查看bootable/recovery/recovery.cpp  发现有定义SUPPORT_SDCARD2  和MTK_SHARED_SDCARD  这两个变量来控制是否支持sdcard升级

在device/rmt/rmt8163_s_e/ProjectConfig.mk   中  AUTO_ADD_GLOBAL_DEFINE_BY_NAME_VALUE  这个变量最后追加  SUPPORT_SDCARD2

同时 MTK_SHARED_SDCARD = no    SUPPORT_SDCARD2 = yes   

这样重新编译之后就可以支持sdcard的OTA升级了



============连续升级失败===============================
  就是从1版本升级到2版本是可以的,但是从2版本升级再升级3版本就有问题了
看log是“Package expects build fingerprint”是指纹不匹配

bootable/recovery/updater/updater.c    这个文件是升级的过程









回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|aSys-帮 ( 京ICP备13033689号 )

GMT+8, 2024-7-6 18:14 , Processed in 0.047647 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部