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差分包更新就可以了。

  • 相关阅读:
    以正确的方式开源 Python 项目
    一个备胎的自我修养
    关于我们 | 读书马上
    基于libevent, libuv和android Looper不断演进socket编程
    libuv 与 libev 的对比
    OCaml Language Sucks
    Practical Common Lisp
    learning
    WebApi系列~QQ互联的引入(QConnectSDK)
    知方可补不足~用xsl来修饰xml
  • 原文地址:https://www.cnblogs.com/lazyzoon/p/12895420.html
Copyright © 2011-2022 走看看