Новые устройства Android не поддерживают запоминающее устройство USB, потому что оно имеет большой недостаток: телефон и ПК не могут одновременно получить доступ к хранилищу. Это связано с тем, что запоминающее устройство USB представляет собой протокол низкого уровня, предоставляющий ПК низкоуровневый доступ ко всей файловой системе. Это вызывает проблемы при подключении телефона к ПК: -
- Приложения на внешнем хранилище не могут работать, пока оно установлено на ПК.
- Музыка и другие файлы во внешнем хранилище недоступны для приложений, поэтому даже приложения, которых нет во внешнем хранилище, могут перестать работать или стать бесполезными.
- Когда внешнее хранилище отключено от ПК, Android вынужден повторно сканировать его с нуля (см. Медиа-сканер ), потому что он не может сказать, что изменилось.
- Телефон не может позволить компьютеру получить доступ к внутреннему хранилищу таким образом: Android не может отключить внутреннее хранилище, потому что доступ к нему имеют все приложения, даже системные приложения.
- Это также означает, что для внешнего хранилища должен быть отдельный раздел и файловая система, к которой телефон может справиться, потеряв доступ. Новые Android-устройства часто имеют только один большой раздел, а «внешнее хранилище» - это просто каталог. Это удобнее, потому что у вас нет свободного места между разделами, но вы не можете использовать USB-накопитель только для одного каталога.
- Android не может обеспечить безопасность файловой системы. ПК имеет полный доступ к экспортируемому хранилищу ниже уровня файловой системы. Это позволяет ему получить доступ к любому файлу и читать необработанные данные устройства для восстановления удаленных файлов. Это может считаться нежелательной дырой в безопасности.
- Как указывает eldarerathis, внешнее хранилище должно использовать файловую систему FAT32 для работы таким образом. Это не является недостатком, когда это настоящая SD-карта, но когда это действительно несъемное хранилище, было бы более полезно использовать лучшую файловую систему.
(Здесь, где я говорю «SD-карта», это означает, что любое хранилище, которое ваше устройство Android называет «внешним», даже если оно на самом деле не является съемным.)
Напротив, MTP является высокоуровневым и позволяет Android осуществлять арбитраж и делиться доступом, как при совместном использовании каталогов или файловых систем по сети. Это даже открывает возможность предоставления ПК доступа к внутреннему хранилищу таким образом, но есть и другие ограничения, не связанные с MTP.
Как объясняет eldarerathis, для доступа к MTP-устройствам с Mac требуется специальное программное обеспечение, поскольку в Mac OS нет встроенного программного обеспечения, как в Windows и некоторых дистрибутивах Linux.