Android 7.0 OTA升级:Repart影响与应对策略

3星 · 超过75%的资源 需积分: 44 22 下载量 20 浏览量 更新于2024-09-10 2 收藏 496KB DOCX 举报
本文档详细讨论了Android 7.0的Over-the-Air (OTA) 升级过程中引入的特殊功能——repart(重新分区)。相较于Android 5.1和6.0,Android 7.0的升级方式不同,它开始在普通更新过程中采用repart,这是为了实现System分区自适应功能和启用Dm_verify功能。 System分区自适应功能是Android 7.0新引入的一项特性,旨在解决开发过程中频繁更改维护分区表和节省存储空间的问题。该功能根据每个版本系统分区文件的数量动态调整system分区的大小,与早期版本(如Android 4.4)中固定的img和物理分区大小相比,更加灵活。当系统分区内的文件增加超过一定阈值(比如50M),分区大小会相应增加,每次调整幅度为50M,通过build/core/partition_size_self_adaption.sh脚本实现。 Dm_verify是内核的一个安全特性,用于验证system分区的完整性,确保系统不受恶意软件攻击。在Android 7.0中,Dm_verify被激活,要求system的img和物理分区的大小必须保持一致。这意味着任何对system分区数据的改动,无论是单个字节的变动,都会触发校验失败,导致系统无法正常启动和数据读取。 然而,这些新功能带来了几个关键的影响。首先,用户数据可能会在repart过程中丢失,因为分区调整可能导致旧数据的清除。其次,为了执行repart,用户可能需要插入SD卡以完成升级过程,增加了用户的操作步骤和复杂性。此外,升级时间会变长,因为repart涉及到分区的重新布局,而掉电时设备可能无法正常重启,存在潜在的风险。 针对这些影响,本文档提出了一些建议来缓解问题。建议包括关闭system分区自适应功能以减少数据丢失的可能性,以及通过优化代码或调整参数来降低repart发生的频率。这有助于提高升级过程的稳定性和用户体验。 总结来说,Android 7.0的OTA升级加入了repart功能,虽然带来便利和安全性提升,但也带来了用户数据丢失、额外操作步骤和潜在安全风险。开发者和用户需要充分了解这些变化,并采取相应的应对措施来确保升级过程的顺利进行。