问题描述:android 8.0 ota升级完成后,进入安卓系统后会自动执行factroy reset,然后进入recovery中,提示: Can't load Android System. Your data may be corrupt. 如下图,如果此时选择 Factory data reset, 那么将会擦除data 分区和cache分区中的数据。擦除完后,系统能够正常启动并运行。
问题分析: 1.“ota升级完成后,进入安卓系统后会自动执行factroy reset ” 从打印信息上分析,是系统加载库资源一直报错了,触发了android本身的救援程序。可以参考这篇博客:https://blog..net/66_2016/article/details/80709217
2.“选择 Factory data reset, 擦除data 分区和cache分区中的数据后系统能够正常启动运行”,那么说明出问题的数据在data分区和cache分区中。会出现这种原因,可能是升级前和升级后,data分区数据库前后不兼容导致的。
3.ota 升级中,要擦除升级data分区和cache分区数据,主要有以下两种方法:
(1)升级包下载完成后,往/cache/recovery/command 中写入如下指令:
--update_package=/cache/update.zip
--wipe_data
--wipe_cache
(2)在升级脚本update-script 中增加
format("ext4", "EMMC","/dev/block/mmcblk0p13","0","/data");
format("ext4", "EMMC","/dev/block/mmcblk0p14","0","/cache");
4.一些方便调试的指令:
重启进入recovery: reboot recovery