Android_OTA升级
补丁信息
确保 build.sh 下有此修改:
diff --git a/build.sh b/build.sh
index 95b62fe30b..13d54e0763 100755
--- a/build.sh
+++ b/build.sh
echo "Start pack image"
cd android
pack
+ rm out/target/product/ceres-c3/ceres_c3-full_ota*.zip
+ pack4dist
+ mv out/target/product/ceres-c3/ceres_c3-full_ota-eng.*.zip out/target/product/ceres-c3/ceres_c3-full_ota-eng_$(date +%Y%m%d)_$(date +%H%M).zip
cd -
}
Note
1. pack4dist 执行后生成 OTA 包。
2. 编译后 OTA 整包最终生成路径:android/out/target/product/ceres-c3/ceres_c3-full_ota-eng_*.zip
升级前提
1. 接入电池状态下,升级时请保证电池电量充足;未接入电池状态下,dts 需要关闭电池供电。
battery_power_supply: battery-power-supply {
compatible = "x-powers,axp803-battery-power-supply";
- status = "okay";
+ status = "disabled";
pmu_chg_ic_temp = <0>;
pmu_battery_rdc= <93>;
Warning
1. 默认软件会打开此选项,用于兼容有电池和无电池两种开机场景。
2. 未接入电池状态下,必须关闭此选项才能支持 OTA 升级,否则 OTA 升级检测到电池电量过低,导致升级失败。
2. 保证 OTA 包的镜像日期高于主板原本的镜像日期。
Tip
编译保证 make installclean 打开,编译时 prop 信息正常更新。
--- a/build.sh
+++ b/build.sh
@@ -100,7 +100,7 @@ function build() {
echo "Start build Android"
rm -vf longan/out/*.img
cd android
- # make installclean
+ make installclean
make BUILD_NUMBER=ido-a133 -j64
if [ $? -eq 0 ]; then
echo "Build android ok!"
升级流程
1. 首先确保 OTA 包和主板信息满足升级前提。
2. 将 OTA 包存放到 /sdcard/ 路径下。
Note
ADB方式:adb push ceres_c3-full_ota-eng_.zip /sdcard/
U盘拷贝方式:cp /mnt/udisk/.zip /sdcard/
3. 系统打开 Setting -> System -> Advanced -> Local Update。
Note
命令行打开方式: adb shell am start -n com.softwinner.update/com.softwinner.update.MainActivity

4. 选择 OTA System Update。

5. 选中对应的 OTA 包,等待认证。

6. 点击 Start install。

7. 点击 ok,等待升级完成。

8. 升级完成后,可通过验证新的功能或系统编译属性确认变更。
常见问题
- OTA 升级失败?
1. 确认是否满足升级条件。
2. 通过查看对应的升级日志 last_log 中包含的升级信息来查找原因。
$ ls /cache/recovery/
block.map last_kmsg.1 last_kmsg.4 last_log last_log.3 uncrypt_file
last_install last_kmsg.2 last_kmsg.5 last_log.1 last_log.4
last_kmsg last_kmsg.3 last_locale last_log.2 last_log.5
3. 更多问题可参考文档。