製做android差分升級包

編譯升級包,差分包

  1. 編譯升級包v0
    source build/envsetup.sh
    lunch 12
    make -j16 otapackage
    拷貝out/target/product/項目名/obj/PACKAGING/target_files_intermediates/目錄下的zip包爲version0.zip
  2. 修改項目
  3. 編譯升級包v1(相似步驟1)
  4. 編譯差分包
    build/tools/releasetools/ota_from_target_files -i version0.zip version1.zip update.zip

手動製做升級包(以升級logo.bin爲例)

  1. 找一個同項目編譯的差分包update.zip做爲樣本
  2. 刪掉除(META-INF, type.txt, scatter.txt)之外的文件
  3. 修改/META-INF/com/google/android/updater-script的內容
    ui_print("switch logo...");
    show_progress(0.050000, 5);
    ui_print("switch logo start...");
    assert(package_extract_file("logo.bin", "/tmp/logo.bin"),
           write_raw_image("/tmp/logo.bin", "logo"),
           delete("/tmp/logo.bin"));
    ui_print("switch logo end...");
    show_progress(0.200000, 10);
  4. 刪除簽名信息(META-INF目錄下的三個文件)
  5. 添加logo.bin到update.zip的根目錄
  6. 從新簽名(注意1.在編譯項目的環境下簽名。注意2.參數-w是必須的)
    java -jar out/host/linux-x86/framework/signapk.jar –w build/target/product/security/testkey.x509.pem build/target/product/security/testkey.pk8 update.zip signedupdate.zip

主要是留給本身看的,若有疑問請聯繫。

相關文章
相關標籤/搜索