在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檔案。它的作用就是通過將 編譯 壓縮,合併等操作,來減少 體積,減少網路請求。以及方便在伺服器上執行。目...