为什么需要Android File Transfer?


9

显然,较新版本的Android需要使用Android文件传输。我有一台不需要此功能的旧机器,只是作为USB大容量存储设备安装。我看不到为什么以前不需要Android File Transfer的技术原因。

为了使之必要,做了哪些更改?为什么有必要?


1
Android在3.0(至少在缺少可移动存储的设备上)中放弃了大容量存储模式,并切换到Media Transfer Protocol。我不知道OS X本机支持MTP,所以我敢打赌这可能是原因。
eldarerathis

谢谢。有趣的观点是支持MTP。您是否知道为什么放弃了大容量存储模式(而不是保持原来状态)?
2013年

4
之所以这样做,是因为决定在没有SD卡的设备上使用大容量存储模式会引起太多麻烦。特别是,如果使用大容量存储,则必须将设备分为两个部分(应用程序和媒体),以便启用UMS所需的块级访问。MTP使您可以访问整个卷并将其用于任何目的。Dan Morril(来自Google)在Reddit评论中对此进行了解释,但我不知道周围是否还有更多“官方”解释。
eldarerathis

Answers:


13

较新的Android设备不支持USB大容量存储,因为它有一个很大的缺点:电话和PC无法以这种方式同时访问存储。这是因为USB大容量存储是一种低级协议,可让PC低级访问整个文件系统。当您将手机连接到PC时,这会导致连锁问题:-

  • 将外部存储设备安装在PC上后,它们将无法运行。
  • 应用程序无法访问外部存储设备上的音乐和其他文件,因此即使不在外部存储设备上的应用程序也可能会停止工作或变得无用。
  • 当从PC卸载外部存储设备时,Android必须重新进行重新扫描(请参阅),因为它无法告诉您发生了什么变化。
  • 手机无法以这种方式让PC访问内部存储:Android无法卸载内部存储,因为所有应用程序(包括系统应用程序)都需要访问它。
  • 这也意味着外部存储必须有一个单独的分区和文件系统,电话可以应对丢失的访问。较新的Android设备通常只有一个大分区,“外部存储”只是那里的一个目录。这样比较方便,因为您没有在分区之间分配可用空间,但是不能仅在目录上使用USB大容量存储。
  • Android无法强制执行任何文件系统安全性。PC可以完全访问文件系统级别以下的导出存储。这样,它就可以访问任何文件,并读取原始设备数据以恢复已删除的文件。这可能被认为是不希望的安全漏洞。
  • 正如eldarerathis指出的那样,外部存储设备必须使用FAT32文件系统才能以这种方式工作。当它是真正的SD卡时,这并不是一个缺点,但是当它确实是不可移动的存储时,使用更好的文件系统会更有用。

(在这里我所说的“ SD卡”,这意味着您的Android设备将其称为“外部”的任何存储,即使它实际上不是可移动的。)

相反,MTP是更高级别的,它允许Android仲裁和共享访问权限,就像通过网络共享目录或文件系统时一样。它甚至为让PC以这种方式访问​​内部存储提供了可能性,但是与MTP无关的还有其他限制。

正如eldarerathis解释的那样,您需要特殊的软件才能从Mac访问MTP设备,因为Mac OS没有像Windows和某些Linux发行版那样内置适当的软件。


嗨,丹,谢谢您的回答。这似乎是一个合理的动机。
乔,

2
尽管专业人士是合乎逻辑的,但我仍然不明白为什么将其完全删除。MTP无疑使将设备连接到“任何计算机”以交换某些文件变得更加困难,您始终需要在Windows机器上安装“特殊驱动程序”,所有者有充分的理由会拒绝(并且不需要这样做)对于UMS)。因此,最好将IMOS作为可供用户显式激活的后备设备,作为IMHO使用。但是,对,不是我们在ASE的决定(不幸的是)。
伊兹

1
我同意,这是完全被删除的遗憾。我定期安装我的android来移动文件,然后弹出。没有尝试过新的MTP。但是,也许在此更改之后可以简化或删除某些操作系统部分。
乔,

1
@Izzy:我认为最大的问题是,一旦他们按照自己的方式走MTP路线,在技术上就不可行。在没有外部存储的设备(如Nexus设备)上,/data如果使用UMS,则必须基本上放弃整个分区,除非有某种方法可以使/data/media目录像某种虚拟块设备一样工作(也许有,我不确定)。失去访问权限是/data行不通的,因此他们可能必须重新架构整个系统才能支持两者。
eldarerathis

2
同样,另一个潜在的组件是它允许内部存储使用更强大的文件系统,例如ext4,而UMS块设备几乎总是使用FAT32,以提供Android与PC操作系统之间的互操作性。因为MTP抽象了对设备的访问,所以OS即使不支持ext4(例如Windows)也可以读取/写入。
eldarerathis

-1

必须运行该程序是la脚的。好消息是,我不必在Ubuntu 15.04上做任何事情,我可以识别手机的存储空间,并且可以拖放和删除。


尝试设置此帖子的格式,使其看起来更像是答案,而不像评论。这是您的个人经历吗,您可以确认是否可以在其他地方使用?
AleksandarStefanović15年

您好@AleksandarStefanović,帮助中心页面说,不应评论“ 建议从根本上不会改变帖子含义的更正;而应进行或建议进行修改 ”。希望你明白我的意思。美好的一天!

@Arch我正在尝试解释系统的工作方式,因为这是Dennis Dunbar的第一个答案。提交答案时,他应该尽可能清晰,以评论/个人意见的形式发布它没有任何好处。
AleksandarStefanović15年

这不能回答问题!OP明确标记了mac-os-x吗?Ubuntu(可能使用MTP / Mass Storage)与OS-X有什么关系?即使您想提出替代方案,也请尝试提出可行的方案。仅将一个操作系统切换到另一个操作系统以进行数据传输并不是一个明智的建议。更不用说您没有真正回答标题了。请更正。
Firelord
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.