製做android差分升級包
編譯升級包,差分包
- 編譯升級包v0
source build/envsetup.sh
lunch 12
make -j16 otapackage
拷貝out/target/product/項目名/obj/PACKAGING/target_files_intermediates/目錄下的zip包爲version0.zip
- 修改項目
- 編譯升級包v1(相似步驟1)
- 編譯差分包
build/tools/releasetools/ota_from_target_files -i version0.zip version1.zip update.zip
手動製做升級包(以升級logo.bin爲例)
- 找一個同項目編譯的差分包update.zip做爲樣本
- 刪掉除(META-INF, type.txt, scatter.txt)之外的文件
- 修改/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);
- 刪除簽名信息(META-INF目錄下的三個文件)
- 添加logo.bin到update.zip的根目錄
- 從新簽名(注意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
主要是留給本身看的,若有疑問請聯繫。
歡迎關注本站公眾號,獲取更多信息