zoukankan      html  css  js  c++  java
  • android 6.0手动制作update升级包

    由于特殊需求,需要针对user版本机器做OTA小包更新,单独更新某个库文件。

    1. 按照普通流程生成一个OTA差分包,基于生成后的差分包我们做定制修改;

    2. 主要修改update.zip 包目录/META-INF/com/google/android/updateer-script 文件,这个也是整个升级的脚本; 去掉所有的校验和不需要的语句,核心语句是package_extract_dir("system", "/system"); 将zip包的system文件夹覆盖到系统文件系统中;

    3. 更新system文件夹下面文件,按照系统目录预制文件即可;

    4. 对update.zip重新签名,参考网上 用java -jar sinak ......  语句无法正确签名,所以修改了 ota_from_target_files ,让正常OTA制作中对特定文件签名,跟踪代码找到 SignOutput(temp_zip_file.name, args[1]) 语句,修改成 SignOutput("/tmp/test", args[1]), 将我们修改后的update.zip 放到 /tmp/test ,然后再执行一次正常OTA差分包制作流程(其实就是对我们修改后的update签名)

    5. 至此,生成的本地zip包就是我们定制的update了, 验证OTA更新一切正常。

    这个流程主要是针对一些特殊需求场景适用,一般还是正常做OTA差分包更新就可以了。

  • 相关阅读:
    迭代器模式
    命令模式
    模板方法
    springmvc执行原理及自定义mvc框架
    代理模式
    外观模式
    组合模式
    装饰器模式
    02——Solr学习之Solr安装与配置(linux上的安装)
    01——Solr学习之全文检索服务系统的基础认识
  • 原文地址:https://www.cnblogs.com/lazyzoon/p/12895420.html
Copyright © 2011-2022 走看看