简短答案:
出于安全和保修的原因。
详细答案:
大多数(不是全部!)设备制造商大多会采取这种预防措施,以免它们因“玩耍的小子”(以及那种想尝试一切,即使他们不了解任何东西的人)提出的过多服务请求而免于被接受。因此,这些制造商采取了特殊措施来避免刷新“自定义ROM”(或更准确地说,是他们自己未提供的任何ROM )。
正如t0mm13b在上面的评论中已经指出的那样,默认情况下,您不会仅通过USB连接来物理访问设备文件系统。根据设备,Android版本以及其他一些条件,您只会看到部分内容。这可能是整个SD卡(物理的,处于UMS模式),甚至可能只是通过MTP对其部分的“逻辑”访问。启用USB调试时,可以通过ADB获得更多特权访问-但是使用备用ROM,在任何一种情况下,您都没有完全访问权限。
现在如何完成更新?一种非常常见的做法是使用特殊的ZIP文件(update.zip
)。将其放置在插入设备的SD卡上,然后将设备引导到特殊模式(恢复),update.zip
可以从中应用该模式。但是:设备会检查其完整性update.zip
-必须使用制造商的密钥进行签名。由于明显的原因,该密钥不是免费提供的-因此无法在这种备用系统上以这种方式安装自定义ROM。
只有超级用户访问设备,才能规避所有这些问题-这意味着:您必须将其root。
因此,这是针对WHY部分的-而未处理生根的HOW部分。正是您所要求的:)
更新以获取更多详细信息
正如Liam在他的评论中指出的那样,使用fastboot
该方法可以在不使设备植根的前提下刷新定制ROM的过程,我做了更多的研究来发现这一点。我将继续调查,但仍想在此添加我的第一个结果。
在一定程度上,Liam是正确的:它不仅对三星设备有效(正如我首先假设的那样),而且其他一些设备(并非全部)也支持此方法,而无需涉及root(事实是当然,大多数自定义ROM都将是root发行的-因此,安装它们后,您将拥有root可用)。但是,有些设备似乎甚至需要root用户身份fastboot flash
(例如,有关Iconia A100的TheUnlockr,引用:在执行此过程之前,您必须已对设备进行了root用户操作-是的,fastboot flash recovery recovery.img
之后才使用)。
但是,即使fastboot
适用于无根设备,也要考虑一个关键点:
要使用快速启动为Android设备刷新ROM,您必须具有未锁定的引导程序或工程引导程序
(闪烁指南-Android-XDA-Developers)
这意味着:如果您的引导加载程序已锁定,则需要先对其进行解锁,这将擦除(恢复出厂设置)您的设备。因此,所有数据都将以这种方式永久消失-而使用root用户,您可以在执行此步骤之前进行完整的备份(Nandroid,Titanium Backup)。但是,从Android 4.0开始,这不再是一个真正的问题-因为您可以通过ADB进行完全备份(请参阅:非root用户设备的完全备份)
摘要:
在刷新自定义ROM之前,需要先植根设备。如果您的设备属于此类别,则为什么要访问根目录以刷新自定义ROM的原因如上所述。
但是:也有一些设备可以不使用根目录fastboot
而进行刷新。如果您的设备属于该类别,那么为什么要刷新自定义ROM所需的root访问权限就变得无效(答案不是,因为ex quodlibet sequitur(“ false可以跟随任何东西”)),您可以从错误的前提得出任何结论。 :)
即:如果需要生根,则以上为WHY。
If I connect the phone to a PC then doesn't that give me access to the entire file system of the device?
-默认情况下,不,不是。它使您可以访问文件系统的特定部分(“外部”存储)。