做过这个,简单来说两句。 先不拽名词,比较版本是有版本号的,这个没得说的。搭建一个服务器配合本地应用,本地应用向服务器发送本地系统版本号,服务器进行判断,以返回不同的值。如果最新的和本地一样,那么就告知用户已经最新,如果有比更新的,那么就下载更新包。 更新包重点更新的是system分区(类似于PC上C盘),在本地更新的流程完全是标准Android中实现的,会经过严格检查匹配稍有问题就不进行更新。所谓更新就是把下载包 替换 system分区。 具体的更新过程就类似于Windows上使用PE启动一个最小系统,然后把 更新包 的system分区中的内容更新到对应的分区中(这点类似你执行了ghost还原系统到C盘)。 /system分区一般是只读的,一般不去Root然后修改/system目录下的内容,更新都不会出任何的错误,如果root机器,修改了/system分区的内容,那么最后在最小系统更新系统时,检测到与原来的不同,则不予更新。 而这个过程由于是远程下载更新包更新系统,不需要借助其它工具,称之为 OTA(空中下载技术)。
[quote=引用 3 楼 kangear 的回复:] 做过这个,简单来说两句。 先不拽名词,比较版本是有版本号的,这个没得说的。搭建一个服务器配合本地应用,本地应用向服务器发送本地系统版本号,服务器进行判断,以返回不同的值。如果最新的和本地一样,那么就告知用户已经最新,如果有比更新的,那么就下载更新包。 更新包重点更新的是system分区(类似于PC上C盘),在本地更新的流程完全是标准Android中实现的,会经过严格检查匹配稍有问题就不进行更新。所谓更新就是把下载包 替换 system分区。 具体的更新过程就类似于Windows上使用PE启动一个最小系统,然后把 更新包 的system分区中的内容更新到对应的分区中(这点类似你执行了ghost还原系统到C盘)。 /system分区一般是只读的,一般不去Root然后修改/system目录下的内容,更新都不会出任何的错误,如果root机器,修改了/system分区的内容,那么最后在最小系统更新系统时,检测到与原来的不同,则不予更新。 而这个过程由于是远程下载更新包更新系统,不需要借助其它工具,称之为 OTA(空中下载技术)。
OTA 字数补丁
80,351
社区成员
91,288
社区内容
加载中
试试用AI创作助手写篇文章吧