A. 製作signed-target_files.zip
make_ota_target_file 或 make_ota_package |
使用sign_target_files_apks製作signed-target_files.zip
編譯過程會遇到下面的錯誤,原因是由於有些apk程序已經簽過名了或者找不到對應的key,我們僅需將列出來的apk檔加入排除項目即可。
./build/tools/releasetools/sign_target_files_apks \ -d ./build/target/product/security \ -k ./build/target/product/security=./build/target/product/security \ -o \ out/target/product/fiber-3g/obj/PACKAGING/target_files_intermediates/*-target_files-*.zip \ signed-target_files.zip |
在android4.4目錄底下生成signed-target_files.zip
B. 製作signed-img.zip
使用img_from_target_files製作signed-img.zip./build/tools/releasetools/img_from_target_files \ signed-target_files.zip \ signed-img.zip |
在android4.4目錄底下生成signed-img.zip
C. 製作完整升級包signed-ota_update.zip
使用ota_from_target_files製作signed-ota_update.zip./build/tools/releasetools/ota_from_target_files \ -k ./build/target/product/security/releasekey \ signed-target_files.zip \ signed-ota_update.zip |
在android4.4目錄底下生成signed-ota_update.zip
D. 製作差異升級包signed-ota-inc.zip
差異升級包,簡稱差分包,它僅使用於兩個版本之間,升級必要的內容而非全部內容,體積小是它最大的優點。要生成差分包,必須提供前一版本的target-file檔,也將是比較文件。在對應out目錄下out/target/product/xxx/obj/PACKAGING/target_files_intermediates/,生成命名為xxx-target_files-xxx.zip的target-file檔,將其保存起來。
將比較版本的target-file檔拷貝到Android的根目錄下,注意,必須保證Android根目錄下只有一個zip格式的檔。
make_ota_package_inc |
在android4.4/out/target/product/xxx目錄底下生成xxx_xxx-ota-xxx-inc.zip
注意:該差分包僅對指定的前一版本固件有效
unsigned-target_files.zip 僅能生成unsigned-ota-inc.zip
signed-target_files.zip僅能生成signed-ota-inc.zip
這邊得留意提供的target_files.zip有無簽章過,否則更新時會驗證失敗。
刷機更新系統
A. 透過fastboot tool
輸入指令進入bootloader modeadb reboot bootloader |
輸入指令檢查devices是否已連接
fastboot devices |
輸入指令開始更新
fastboot update signed-img.zip |
目前Windows上fastboot devices安裝完驅動抓不到機器,不知是什麼原因。
B. 透過Recovery Mode
1. 完整包升級將signed-ota_update.zip複製到internal storage
adb reboot recovery |
選擇apply update from internal storage
再選擇signed-ota_update.zip更新
2. 差分包升級
將fiber_3g-ota-xxx-inc.zip複製到internal storage
adb reboot recovery |
選擇apply update from internal storage
再選擇fiber_3g-ota-xxx-inc.zip更新