10

Apparently newer versions of Android require the use of Android File Transfer. I have an older machine that doesn't require this, and just mounts as a USB mass storage device. I can't see a technical reason why Android File Transfer is now required when it used not to be.

What changed in order to make this necessary? Why is it necessary?

  • 1
    Android dropped mass storage mode in 3.0 (at least, on devices that lack removable storage) and switched to Media Transfer Protocol. I don't know that OS X supports MTP natively, so I'd wager that could be the reason. – eldarerathis Oct 31 '13 at 14:47
  • Thanks. Interesting seeing arguments in favour of MTP. Do you know why mass storage mode was dropped though (rather than keeping it around)? – Joe Oct 31 '13 at 14:51
  • 4
    It was basically done because using mass storage mode on devices without SD cards was decided to cause too many complications. In particular, if you use mass storage you have to partition the device in two (apps and media) in order to enable block-level access that UMS needs. MTP lets you access the whole volume and use it for either purpose. Dan Morril (from Google) explained this a bit in a Reddit comment, but I don't know if there are any more "official" explanations around. – eldarerathis Oct 31 '13 at 15:06
14

Newer Android devices don't support USB mass storage because it has a big shortcoming: the phone and the PC can't access the storage at the same time that way. This is because USB mass storage is a low-level protocol giving the PC low-level access to the whole filesystem. This causes knock-on problems when you connect your phone to the PC:-

  • Apps on the external storage can't run while it is mounted on the PC.
  • Music and other files on the external storage aren't accessible to apps, so even apps that aren't on the external storage might stop working or become useless.
  • When the external storage is unmounted from the PC, Android has to rescan it from scratch (see ) because it can't tell what has changed.
  • There's no way for the phone to let the PC access the internal storage this way: Android can't unmount the internal storage, because all apps need access to it, even the system apps.
  • This also means there has to be a separate partition and filesystem for the external storage, which the phone can cope with losing access to. Newer Android devices often just have one big partition, and the "external storage" is simply a directory there. It's more convenient that way because you don't have free space split between partitions, but you can't use USB mass storage on only a directory.
  • Android can't enforce any filesystem security. The PC has complete access to the exported storage, below the filesystem level. This lets it access any file, and read the raw device data to recover deleted files. This might be considered an undesirable security hole.
  • As eldarerathis points out, the external storage has to use the FAT32 filesystem to work this way. This isn't a shortcoming when it's a real SD card, but when it's really non-removable storage, it would be more useful to use a better filesystem.

(Where I say "SD card" here, that means whatever storage your Android device calls "external", even if it's not actually removable.)

In contrast, MTP is higher-level, and allows Android to arbitrate and to share access, just like when sharing directories or filesystems over a network. It even opens the possibility of letting the PC access the internal storage this way, but there are other restrictions around that unrelated to MTP.

As eldarerathis explains, you need special software to access MTP devices from a Mac, because Mac OS doesn't have the appropriate software built-in, like Windows and some Linux distributions do.

  • Hi Dan, thanks for your answer. That seems like a reasonable motivation. – Joe Oct 31 '13 at 15:57
  • 2
    While the pros are logical, I still don't see why it was completely removed. MTP certainly makes it harder to attach your device to "any computer" in order to just exchange some files, you always need to install "special drivers" on e.g. Windows machines – which the owner for good reasons might refuse (and would not be required for UMS). Thus having UMS available as a fall-back to be explicitly activated by the user would be preferable IMHO. But right, not for us here at ASE to decide (unfortunately). – Izzy Oct 31 '13 at 15:57
  • 1
    I agree, it's a shame it was completely removed. I regularly mount my android to move files around, and eject after. Not tried the new MTP. But maybe there were some chunks of the OS that could be simplified or removed after this change. – Joe Oct 31 '13 at 15:59
  • 1
    @Izzy: I think the big problem is that it's not technically feasible once they went the MTP route the way they did. On a device without external storage (like Nexus devices) you'd have to basically surrender the entire /data partition if you used UMS, unless there was some way to make the /data/media directory act like some kind of virtual block device (maybe there is, I'm not sure). Losing access to /data would not work, so they'd likely have to re-architect the whole system in order to support both. – eldarerathis Oct 31 '13 at 16:00
  • 2
    Also, another potential component to this is that it allows the internal storage to use a more robust filesystem, like ext4, whereas a UMS block device is pretty much always going to be FAT32 in order to provide interoperability between Android and the PC's OS. Since MTP abstracts access to the device, the OS can read/write even if it doesn't support ext4 (e.g. Windows). – eldarerathis Oct 31 '13 at 16:04
-1

Having to run this program is lame and flaky. The good news, I do not have to do ANYTHING on my Ubuntu 15.04, i recognizes the phone's storage and I can drag and drop and delete.

  • Try to format this post so that it looks more like an answer, and less like a comment. Is this your personal experience, and can you confirm if this works elsewhere? – Aleksandar Stefanović Jun 8 '15 at 16:30
  • Hello @AleksandarStefanović, This help center page says that one shouldn't comment "Suggesting corrections that don't fundamentally change the meaning of the post; instead, make or suggest an edit". I hope you got my point. Good day! – user109933 Jun 8 '15 at 19:16
  • @Arch I'm trying to explain how the system works, since this is Dennis Dunbar's first answer. He should be as clear as possible when submitting an answer, and posting it in a form of comment/personal opinion isn't any good. – Aleksandar Stefanović Jun 8 '15 at 19:20
  • This doesn't answer the question! OP clearly tagged mac-os-x? What does Ubuntu (probably using MTP/Mass Storage) has anything to do with OS-X? Even if you want to suggest an alternative then please try to suggest feasible things. Switching to one OS to another just for data transfer wouldn't be a sound advice. Not to mention you didn't really answer the title. Please make corrections. – Firelord Jun 8 '15 at 19:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.