android ota不打包 OTA打包工具

2021-10-17 02:28:37 字數 2313 閱讀 8693

在build/tools/releasetools資料夾中提供的 ota_from_target_files工具可以構建兩種包:全映象包和增量包.這些工作把android構建系統提供的目標檔案.zip檔案作為他們的輸入.

全更新全更新就是把編譯後裝置的所有的狀態(system,boot和recovery分割槽)都被包含到包裡.只要裝置能夠接受更新包並且啟動recovery系統,不管當前裝置的狀態是什麼樣的,包就能夠安裝整個系統.

例子:使用release工具為假設的tardis裝置構建乙個完整的更新包:

# first, build the target-files .zip

% . build/envsetup.sh && lunch tardis-eng

% mkdir dist_output

% make dist dist_dir=dist_output

% ls -l dist_output/*target_files*

-rw-r----- 1 user eng 69965275 sep 29 15:51 tardis-target_files.zip

目標檔案.zip包含你需要的構建ota包的所有東西.

% ./build/tools/releasetools/ota_from_target_files \

dist_output/tardis-target_files.zip ota_update.zip

unzipping target target-files...

done.

% ls -l ota_update.zip

-rw-r----- 1 user eng 62236561 sep 29 15:58 ota_update.zip

ota_update.zip現在已經可以用於測試裝置了.對於使用者裝置來說,要生成和使用你自己的金鑰.(後面介紹)

增量更新

乙個增量更新包含著要應用到裝置中已存在的資料的補丁.這會使得更新包比較小:

沒有被改變的檔案不必包含在更新包中

被改變的檔案如果和之前版本比較相似的話,更新包僅僅需要包含兩個檔案不同部分的編碼即可.

你僅僅可以在使用之前版本構建的裝置上安裝增量更新包.為了構建乙個增量更新包,你需要來自上乙個版本的目標檔案.zip和新要構建的目標檔案.zip.

% ./build/tools/releasetools/ota_from_target_files \

-i previous-tardis-target_files.zip \ # make incremental from this older version

dist_output/tardis-target_files.zip incremental_ota_update.zip

unzipping target target-files...

unzipping source target-files...

done.

% ls -l incremental_ota_update.zip

-rw-r----- 1 user eng 1175314 sep 29 16:10 incremental_ota_update.zip

這次構建和上乙個非常相似,增量更新包比相應的全更新包要小的多.

注意:為了為後續的更新包生成基於塊的ota,向ota_from_target_files中傳遞–block選項.

僅僅向執行相同的上乙個版本包的裝置發行增量包才能正常執行.如果在執行其他構建版本的裝置中嘗試安裝增量包的花就會導致在recovery模式中的錯誤.在這個時候重啟裝置就會返回使用者之前的系統;在建立他們的時候,更新包驗證所有檔案的之前的狀態,如果發生這種情況,該裝置不會留在半公升級狀態。

更新包乙個更新包(ota_update.zip,incremental_ota_update.zip)是乙個.zip檔案,他包含可執行二進位制檔案meta-inf/com/google/android/update-binary.在驗證完成更新包的簽名之後,recovery將這個二進位制檔案提取到/tmp目錄下並執行該程式,同時,將下面的引數傳遞過去:

更新二進位制api版本號.如果傳遞到更新二進位制的引數改變了,這個號就會被增加

命令管道的檔案描述符.更新程式可以使用這個管道來想recovery二進位制傳送命令(大多數都是ui改變,例如更新進度條等)

更新包.zip檔案的檔名

乙個recovery包可以使用任何靜態鏈結的二進位制檔案作為更新二進位製包.ota包構建工具使用updater程式(原始碼位於bootable/recovery/updater),該檔案提供了乙個簡單的可以做任何安裝工作的指令碼語言.你可以替代任何執行在裝置上的其他二進位制程式.

對於updater程式的細節,編寫語法和內建函式,後面會有詳細介紹.

OTA打包工具

在build tools releasetools資料夾中提供的 ota from target files工具可以構建兩種包 全映象包和增量包 這些工作把android構建系統提供的目標檔案.zip檔案作為他們的輸入 全更新 全更新就是把編譯後裝置的所有的狀態 system,boot和recove...

vcpkg VC 打包工具

原文 引用 vcpkg 是微軟 c 團隊開發的在 windows 上執行的 c c 專案包管理工具,可以幫助您在 windows 平台上獲取 c 和 c 庫.vcpkg 自身也是使用 c 開發的 而其他的 c 包管理大多並不是 c 開發的 並且 vcpkg 能夠幫助使用者在 visual studi...

前端打包工具

前端打包工具是一種將前端 進行轉換,壓縮以及合併等操作的程式工具。目前常見的有grunt,webpack等。它能將我們前端人員寫得less,sass等編譯成css.將多個js檔案合併壓縮成乙個js檔案。它的作用就是通過將 編譯 壓縮,合併等操作,來減少 體積,減少網路請求。以及方便在伺服器上執行。目...