OTA打包工具

2021-09-20 00:01:26 字數 2025 閱讀 2937

在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現在已經可以用於測試裝置了.對於使用者裝置來說,要生成和使用你自己的金鑰.(後面介紹)

增量更新

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

% ./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目錄下並執行該程式,同時,將下面的引數傳遞過去:

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

android ota不打包 OTA打包工具

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

vcpkg VC 打包工具

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

前端打包工具

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