0,0
рейтинг
23 ноября 2011 в 02:17

Про поддержку «USB Mass Storage» в Ice Cream Sandwich

Из ранних обзоров девайсов (а именно Galaxy Nexus) на новой версии Андроида 4.0 (он же ICS, он же «мороженный бутерброд») выяснилось, что они не поддерживают такую замечательную фишку, как USB Mass Storage, т.е. использование телефона как флешки, без дополнительных ухищрений. Пользователи андроид-аппаратов, вплоть до версии 3.0 «Honeycomb» (а, как оказалось, изменения произошли именно в этой версии) знают, что чтобы перекинуть файлы на телефон или с него, достаточно было просто воткнуть его в компьютер без связи с тем какая операционная система или софт на нем установлены. Логично, что новости об исчезновении этой опции в новых версиях не вызвали энтузиазма среди пользователей андроида, и даже заставили многих задуматься о наличии некой проблемы или недоработки. К счастью, один их инженеров Google Дан Морилл (Dan Morrill) в комментариях к гневному посту в reddit, прояснил ситуацию, подробно объяснив о том, что, собственно произошло, и почему. По моему это очень любопытно, так что ниже перевожу перевод его комментариев.


Сам ICS поддерживает USB Mass Storage (UMS). А телефон Galaxy Nexus — нет. Это та-же история, что и с Honeycomb: HC поддерживает UMS, а планшет Xoom — нет. Если у некого аппарата есть внешняя SD-карточка, то к ней поддерживается доступ через UMS. Если в наличии только встроенная память (как у Xoom и Galaxy Nexus) то доступ к памяти устройства поддерживается только по MTP *(Media Transfer Protocol) и PTP *(Picture Transfer Protocol). Физически, невозможно поддерживать UMS на устройствах, у которых нету выделенного раздела для хранения информации (как, например, внешней SD-карточки или отдельного раздела, как в Nexus S). Причина в том, что USM и это блочный низкоуровневый протокол, который дает хост-машине прямой доступ к физическим блокам носителя, что не позволяет ему быть одновременно примонтированным в Андроиде. С новой объединенной моделью хранения информации, которую мы ввели в Honeycomb, все 32гб (ну или все 16гб, или все N...) полностью находятся в совместном владении и приложениями и медиа-файлами. Вам больше не приходится грустно взирать на свободные 5гб на вашем Nexus S, в то время как внутренний раздел для приложений забит под завязку — теперь это один большой, счастливый раздел. К сожалению, цена, которую за это пришлось заплатить — это то, что Андроид больше не может позволить себе предоставить ПК прямой доступ и дать ему безнаказанно домогаться до носителя информации по USB. Вместо этого, мы используем MTP. На виндоуз (который у большинства пользователей), есть встроенная поддержка MTP и в эксплорере, и устройство выглядит точно так-же как обычный диск. На Линуксе и Маке, к сожалению, все не так просто, но я уверен, что в скором времени, ситуация улучшится. В целом, это должно сделать использование телефона гораздо более удобным.


На вопрос, если у Nexus S только внутренняя память, как-же программы вроде файловых менеджеров работаю без рута, Дан объяснил:

Волшебство. ;)

Сначала, мы выделяем директорию на внутренней памяти которая будет «SD-карточкой». Затем мы берем файловую систему FUSE, которая не делает ничего, кроме перемонтирования этой директории как /sdcard c выключенной проверкой доступов. Кроме доступов, FUSE это просто сквозная оболочка передающая запись и чтение прямо в/из директорию. Другими словами, мы используем липовую файловую систему FUSE, для перемонтирования определенной директории которая маскируется под SD-карточку. Это полностью прозрачно для приложений, которые не знают, что они не обращаются напрямую к диску.


Далее, на вопрос получается ли, что для директории sdcard нету разграничения доступов, он напоминает:

Да. Собственно по определению работающая под FAT32 папка /sdcard (или, как она называется в API — «папка внешнего носителя информации») не поддерживает разграниченного доступа, что нормально, так как это общая, открытая для всех файлопомойка, где одно приложение может топтаться по файлам другого. Она изначально задумывалась для таких вещей как музыка и фотографии, а не приватных данных, которые «живут» в личном хранилище у приложений, расположенном на внутренней памяти с разделенным доступом.
На устройствах без SD-карточки, единственная физически файловая система — это хранилища личный данных приложений. Так что мы выбираем директорию, объявляем ее файловой помойкой, монтируем ее как отдельную FUSE файловую систему, которая игнорирует права доступа, так же как они игнорируются в FAT32.


О причинах всех этих изменений Дан объяснил:

(...) Мы не сделали это потому, что мы хотели перейти на ext3, хотя мы и выиграли это как побочный эффект. Мы сделали это так как хотели объединить общедоступное пространство для хранения информации (например для музыки и фотографий) с внутренним хранилищем для приложений. Нам надоело наблюдать, как производители телефонов включают гигабайты памяти для музыки, а у пользователей все равно заканчивается место для приложений и информации. Такой подход позволяет объединить все в один раздел, что намного лучше.


Еще один человек поинтересовался почему нельзя использовать оба подхода, ведь слот памяти занимает достаточно мало места. На что, было рассказано немного об идеологии Андроида:

Технически в железе нет никакой проблемы поставить и то и другое. Проблема в том, что этому не сделаешь удобный интерфейс.
Один из базовых принципов Андроида — это то, чтоб пользователю не нужен был файловый менеджер. Никогда. Мы хотели избежать синдрома, когда на каждый чих выскакивает диалог выбора файла, как это часто бывает в других OS. Внутренняя информация, с которой приложения умеют работать, должна быть просто доступна «по волшебству» или же храниться в облаке. Нельзя заставлять пользователя заниматься спелеологией, разыскивая файлы на SD-карточке.

Проблема в том, что поддерживая и внутреннюю память и внешнюю SD-карточку, следовать этому принципу внезапно становится намного сложнее. Для конкретного снимка, камера должна сохранять его на внутренние 16гб или на SD карточку? Приложения из Маркета — их ставить на внутреннюю память или на SD? И так далее. Да, мы можем решить это заставив пользователя самого выбирать или выставлять настройках. Но это в конечном счете и есть тот диалог выбора файла, или что-то на него похожее настолько, что нам это так-же не нравится.

Кроме этого, будут последствия и для API — если вы втыкаете SD карточку с фотографиями, должен ли их индексировать системный media content provider?.. Если да, то пострадают приложения, потому как они не были спроектированы учитывать, что фотографии могут внезапно появляться и исчезать.
В какой-то момент, мы наверное добавим концепцию импорта/экспорта с подключаемого носителя. Тогда камера всегда будет сохранять фотографии на внутренние 16гб, а когда вы воткнете SD-карточку (или подключите USB флешку), вы сможете начать миграцию или получите окно импорта/экспорта. Но до того момента, у большинства аппаратов будет или SD-карточка или большая внутренняя память, но не оба варианта. Я прекрасно понимаю, что многим нравится SD-карточки, и мне самому не хватает USB Mass Storage, но именно по этому так классно, что у нас есть так много аппаратов, из которых можно выбирать :)
А вообще, конечно, это клубок проблем. Мы тут уже обдумываем компромиссы для будущих версий.


Надеюсь, вам это тоже помогла немного прояснить ситуацию, и было интересно заглянуть на внутреннюю кухню разработчиков Андроида :)
Павел Антокольский @Zigmar
карма
23,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (150)

  • НЛО прилетело и опубликовало эту надпись здесь
    • +20
      И это ужасно. Загрузили на телефончик 3 папочки с музыкой любимой послушать, старательно разобранных. Дык это чудо разбросало его под 5 разным плейлистам, перемешав контент папочек. Мало того что слушать неудобно, так еще и на другой комп не скачать все красиво по папочкам, все лежит в одной куче, вместе с остальными предыдущими файлами. ***ть, это что за удобство?!
      • +2
        deadbeef (и емнип не он один) умеет составлять плейлисты из содержимого папок.
        • +3
          Ага. К счастью андроид не навязывает некий «единственно правильный» спомоб работы. Хотите — используйте сортировку по метадате. Хотите — поставьте плеер, который работает с файлами. За то и любим :)
          • 0
            Минутку, а при чем здесь плеер? Понятно, что вопрос никому не понравится, но…
            Просто залились на телефон 3 папочки, по юсб. Телефон после отключения заявил «чета там сортирую». После чего подключается тот же телефон по юсб, и там уже оппа — папочек никаких нет, все в одной куче лежит, в одной папке media. Это что, плеер вытворял, а не сам андроид? И как тут можно было догадаться, что можно по другому:-\
            • +9
              Хмм, он действительно индексирует по метадате и по ней же показывается во встроенном плеере, но что бы он что-либо двигал — это для меня новость, сам я точно с таким не сталкивался.
              • +5
                Видимо, это происходит при передаче файлов по MTP.
                • 0
                  а какой телефон-то?
            • +1
              На другом компе эти папочки так же будут показываться, физически он не будет никуда перемещать файлы. в принципе МТР довольно удобен для мультимедия устройств.
      • –2
        Вот кстати да, почему нету плееров (даже на виндовом десктопе) которые бы вместо своих сраных «библиотек и плейлистов» просто тупо играли бы музыку из указанных папок. Простите, наболело.
        • +3
          хм, ну если конкретно про андроид, то есть MortPlayer Music (beta), а для винды, ну хотя бы тот же foobar…
          • –7
            Андроидом не пользуюсь, а foobar посмотрю, спасибо!
            • 0
              Пожалуйста)
          • 0
            ух ты. спасибо за наводку. не знал, что самый удобный плеер под вм сделали на андроиде )
        • +6
          Издеваетесь?! WinAmp, since 1998.
          Да и WMP легко уговорить воспроизвести папку.
          • –2
            Им можно скормить папки в плейлист, да. А я хочу чтобы отображал сходу дерево папок и играл по ним музыку.
            • 0
              А, именно чтобы папки отображал…
              Есть такие, но названия, за давностью лет просто не вспомню.
              Плюс не самый удобный вариант, по моему мнению.
              Но в WinAmp'е можно сделать компромисный вариант, в отображении тегов поставить чтобы сначала показывался полный путь (тег %filename%), либо %folder%\ %artist% — %title%.
              Но придётся заапгрейдиться ;) Учитывая что можно при установке 5.х не ставить ненужное (например modern skin и т.п.) — то апгрейд визуально и не заметен, только если под капот залезаешь становится заметна разница.
            • +3
              • 0
                Качество звука превосходное, но эргономика — шыздец.

                «Файл непонятен, вероятно поломан, обязательно прочти и нажми ОК» — очень приятная вещь, когда ты не у компа. То, что играет винамп без вопросов или, если прижёт, перепрыгивает без вопросов.

                Забросил ещё тогда, и как раз ту же древнюю 37.
        • 0
          Как это нету? Winamp, foobar (если lossless предпочитаешь). Под линукс deadbeef.
        • +5
          Дожили =))) Пользователи уже не могут найти среди функций плеера как заставить его играть по папкам.
          • –4
            Ну покажите что-ли как в Winamp 2.76 играть по папкам :)) Да, я олдфаг.
            • +1
              файл->открыть папку?
              • –2
                И что получится? плейлист. А я хочу иерархию моих папок видеть, я же написал.
                • –1
                  Тогда не знаю :)
                • +2
                  Foobar вам в помощь, выбираете вид «Folder Structure» и наслаждаетесь
                • +1
                  Вы хотите старое с кучей нового функционала?)
                  • +1
                    Юзеры — они такие.
        • +3
          1by1
        • +4
          PowerAmp, я им пользуюсь, играет папки, а может и библиотеку.
          • +2
            Заплатил с удовольствием за полную версию. К тому же разработчик — наш соотечественник.
          • 0
            ещё бы он научился играть «радио» (включая всякие странные RA и mms:// — цены бы ему не было!

            а так музыку им случаю + купил дедбиф для стримов + часть стримов так и не могу слушать…
            • 0
              Use VLC!
        • 0
          Попробуйте clementine
        • 0
          Под Windows есть AIMP
        • 0
          AIMP?
          • 0
            упс…
        • 0
          1by1, например
      • 0
        Позволь поинтересоваться, а какой это телефон и какая версия андроида? Я на свой WIldfire с андроид 2.2 (ну, уже 2.3 цианоген) спокойно заливал музыку папкой, слушал родным плеером (да, он их через одно место показал, видать, по тэгам), а потом копировал на другой комп точно так же — покдлючил по USB, открыл как флэшку, скопировал все ту же папку.
        • 0
          Описанное верно для версий Android начиная с 3.0
          • +1
            Купил себе PowerAMP и счастлив как слон. Он умеет и по папкам (по всем или только по выбранным) и по плейлистам и как только не умеет. Там есть кажется бесплатная версия на 30 дней ну или бесплатную на совсем тоже можно найти
            • 0
              Мне нравится, что моя музыка в облаке Google Music, откуда я могу её скачивать через их плейер (отвратительный), но сторонние плейеры не умеют читать папку с музыкой из облака. Конечно, достаточно удалить из иерархии файлы .nomedia и папка тут же просканится, но тогда глючит Google Music — треки могут начать заливаться в устройство заново
              • 0
                Ну в таком случае да. Хотя возмжно скоро и научатся из облака читать.
          • 0
            Для 2.2 и 2.3 тоже — говорит же человек. Подтверждаю.
      • +1
        Вы все еще слушаете музыку по папкам? Тогда мы идем к вам! Ну, серьезно, подобная идеология была не свойственна даже большинству плееров на Windows.
        • +1
          О да! Особенно радует «правильная» идеология, когда музыка бывает не только в формате mp3, а например cue/flac или подобном.
    • 0
      Документ-ориентированная модель работы.
      Лично мне файловая ближе, мне проще сделать файл равным документу.
  • +10
    Расслабьтесь — это для вашего удобства.
  • 0
    теги irony не вставились :)))
    • 0
      На хабре уже неделю с тегами проблемы какие-то.
  • +3
    Вот мне очень интересно. Они говорят про невозможность предоставления USB mount storage в кооперативном, так сказать, режиме. А теперь, внимание, вопрос. КАК это делают такие аппликухи, как Multi Mount SD-card или Dual Mount SD Widget?? Неужели разработчики этих аппликух умнее инженеров Гугла? Да ни в жисть не поверю!
    • 0
      Я про эти программы не знаю, но судя по комментариям к одной из них, это не очень стабильное решение:

      To avoid corruption problems, keep this in mind: if you make changes FROM THE PHONE while the SD is mounted, they will not show up on the connected computer until the device is remounted. i.e. if you modify a file on the phone while mounted, then try to view/edit the file on the computer without remounting, problems occur. Just remount =)


      Кстати, может кто-нибудь знает, как это работает — очень любопытно?
      • +2
        Похоже они делают то, что разработчики андроида в здравом уме себе позволить не могут — дают монтировать флешку на компьютере уже смонтированную в телефоне. И причина банальна — файловая система фат капитально не предназначена для одновременного доступа, и если те, кто ставит подобные программы ясно осознают, что целятся себе в ногу и нажимают на курок постоянно, но всё равно пользуются — их проблемы, но сделать такое поведение по умолчанию (или хотя бы несложнодоступными настройками/хаками) — гарантировать себе огромное количество проблем типа «Аааа, эти долбанные телефоны на андроиде рушат ФС после втыкания в компьютер!!!»
        • 0
          Если это так, т.е. они просто дают одновременно монтировать FAT32 из двух мест — то это полный ппц, не завидую тому, кто этим пользуется.
        • –1
          Разве нет другого способа? Скажем, через тот же fuse реализовать эмуляцию.
          • 0
            Я себе не представляю, как такое можно сделать нормально, потому и заинтересовался. UMS предоставляет прямой доступ к диску, а сам код ФС бежит на хост-устройсетве. FUSE не поможет сэмулировать более низкоуровневый интерфейс поверх гораздо более высокоуровнего. Наверное, можно было бы извратиться, и проанализировав структуру файлов создать виртуальное устройства, заполнить на нем виртуальные таблицы аллокаций, предоставить его по UMS, а записи анализировать каким нибудь эвристическим алгоритмом и транслировать обратно в высокоуровневые комманды ФС. Но во-первых это совсем не тривиально, а во вторых скорость работы и память требуемая для такого решения, свели бы на нет все преимущества.
            • –1
              Ну почему же. Насколько я понял для эмуляции /sdcard инженеры гугла пошли на некий подобный костыль. Так почему точно так же не сэмулировать и sd-карду на комп?
              • 0
                как?
                • –1
                  Как, как, создать блочное устройство, обработкой которого будет заниматься user-level аппликуха.
                  • 0
                    И что это даст?
                    • –1
                      Обрабатывая запросы наравне с остальными аппликухами мы не получим конфликта файловой системы (ведь мы к ней будем обращаться точно так же, как обратились бы две обычные аппликухи к одним и тем же данным, что не вызывает крешей всего и вся), как если бы мы бытовом файловую систему из двух мест. Фактически обработка файловой системы останется централизованной. Мы лишь создадим своеобразный «блочный файл-менеджер».
                      • 0
                        Бытовом->обрабатывали
                      • 0
                        Соответственно блочное устройство будет не более чем интерфейсом к этому «файлменеджеру».
                      • 0
                        Мне кажется, что вы плохо себе представляете, что такое файловая система и блочное устройство. Блочное устройство нельзя просто так синхронизировать между дву файловыми системами, как несколько клиентов одной ФС. Ни у блочного устройства, не у ФС с ним работающего нет механизмов и способов синхронизировать дисковые операции. Не важно, какой менеджер вы поставите, каждый инстанс ФС все что он умеет, это перводить высокоуровневые операцие записи/чтения в операции с битами на дисковом устройстве, и он совершенно не расчитывает, что эти самые биты у него прямо под ногами может менять кто-то еще.
                        «Две обычные аппликухи», как вы выражаетесь, синхронизированы файловой системой, которая сама сериализирует все дисковые операции, а в блочном устройстве ничего этого нет, он только и умеет, что читать и писать блоки по заданному адрессу. Может и можно было бы придумать ФС с такой архитектурой, которая позволяла бы нескольким инстансам одновременно работать с одним диском, но это точно не получился бы FAT32, ни даже что-то близко на него похожее.
                        • 0
                          Вы опять не поняли идею. Блочное устройство будет просто эмулировать фейковое устройство, у которого будет фейковый FAT раздел. Фейковый FAT раздел будет создаваться на основании данных, полученных от user-space аппликухи с реального раздела.
                          • +1
                            И что будет делать аппликуха, если виндовс скажет — пишем нули в блоки с 1000 по 3000, затем XXXX в 3500 и обнови-ка фат — пометь блоки с 1100 по 1200 как свободные, а с 2900 по 4000 как занятые файлом «верка-сердючка.mp3». А в это время реальный андроид записывает фотку как раз в блоки с 900 по 1100, затем фрагмент с 1200 по какой-нибудь 2500, и в фате запиши ему имя — DCIM_0019.jpg?
                            • –1
                              Во первых, маппинга «впрямую» между реально файловой системой и виртуальной не будет. Во вторых, в случае невозможности выполнения подобных операций простоотсылаем виндовсу ошибку i/o.
                              • 0
                                Угу, клиент открыл файл, два блока записал, а третий — упс, не может…
                                Про “виртуальный фат" поверх обычный ФС — я уже писал выше, но это не решение — очень сложно, очень медленно и ненадежно (так как придется пользоваться эвристикой, что бы транслировать низкоуровневые комманды блочного устройства в комманды I/O для ФС).
                      • 0
                        Такие идеи реализуются, и называются «кластерные ФС», но это обычно дорогущие решения для всяких энтерпрайзов, но опять же никто не обрадуются, если для того, чтобы увидеть телефон как флешку нужно ставить драйвер кластерной ФС или что-то подобное.

                        • 0
                          Я, как человек, работавший над одной такой кластерной ФС, могу по секрету рассказать, что даже там несколько нодов не пишут и не читают одну и ту же область. Каждый ответственнен за свои блоки, и есть всякие умные балансировщики, которые распределяют нагрузку. :-)
        • 0
          именно так, лично лечил легкую форму USB brick на Desire после случайной попытки обратиться к одному и тому же файлу с компа и с устройства при работе Multi Mount SD-card. Не понравилось это телефону, явно.
  • +2
    То есть получается прощай порты Heroes, Baldur's Gate ит.п? У меня по MTP ни разу не получилось нормально на Таб загрузить дистрибутив в 7гб?
    • 0
      Wi-Fi, разбиение на архивы (как в старые-добрые)?
      • 0
        О, госпади 7гб по вафле 802.11g, то бишь максимум это 2,5мб/с. Повеситься можно…

        В общем, поставил галочку, если ICS, то только с карточкой.
        • +1
          Ну так переходим же на 802.11n.
          • –1
            Ну так это надо новый роутер брать, а ради такого менять не хочу. Работает и ладно. В тариф интернета вписываюсь.
            • 0
              Кто-то еще пользуется не безлимитными тарифами?
              • 0
                Кроме безлимитности, есть ещё и скорость) И вот по тарифу у меня 30 мбит/с…
              • 0
                И да, многие ещё пользуются, потому как в глубинках с этим делом вообще плохо. В 15км от Питера, например в принципе нет кабельного инета. Да в деревне, но там через дорогу военный городок.
                • 0
                  Я жил в глубинке 17 лет. Там нет оптоволокна и кабеля, но есть адекватные безлимитные тарифы. Видимо я зажрался и не представляю себе интернет с ограниченным трафиком.
                  • 0
                    Рад, что вам повезло с безлимитными тарифами. 2 года назад я сидел на тарифе 700кб/с (недо 3G) за 1000р в месяц. При достижении 1гб скорость падала до 64кб/с. И это 15км от Питера.
                    • 0
                      Грабеж. В 2008 сидел на волгателекомовском тарифе за 600 рублей со скоростью 500кб/с до 3 гигов (потом падала). И хватало. А сейчас 100 мегабит в локалке и 24 мегабит внешки кажется не особо быстро.
                      • 0
                        Вот и я о том же)
                      • 0
                        Грабеж? Суровые реалии. И чем дальше от райцентров и центральных регионов, тем реальнее и реальнее они становятся…
  • +7
    движение в сторону iOS, и это печально
    • 0
      Не знаю, по-моему UMS это не такая уж большая цена заплатить за извечный геморрой с забитой внутренней памятью и app2sd.
      • 0
        Это смотря сколько внутренней памяти. На Desire действительно это адские муки, даже при наличие app2sd. Сейчас на Sensation XE таких проблем незнаю.
        • 0
          Не все производители телефонов одинаковые жмоты на встроенную память :) На размер приложений из за более серьёзных игр растет, и при разделенной модели все равно рано или поздно или внутренняя память или sd забивалась бы быстрее, приводя к не оптимальному использованию. Конечно идеальное решение было бы объединенная память и доступ к ней по UMS, но видимо, это невозможно технически.
        • +1
          Я на LG Optimus One затрахался переносить приложение на флешку. Один раз из-за забитой памяти не смог отправить смс
        • 0
          если данные программ на карте держать, то вообще никаких проблем на Desire.
          карточки сейчас быстрые
          • +1
            Видно вы не так долго или не так активно пользуетесь им. В семье было 2 дизаера, оба забились, при том, что все приложения, которые возможно были перенесены на карту
            • 0
              я говорил про app2sd технологию, которая позволяет хранить на карте как код программы, так и её данные, полностью освобождая встроенную память телефона от этой задачи.
              видимо, вы говорите про стандартную move to card технологию, появившуюся в 2.2 андроиде, которая переносит только код
            • 0
              Эммм пол года юзаю дезайр з. Накидал в него почти весь софт (причем половина мне и не нужна особо) не сказал бы что памяти не хватает. Все что часто не нужно кинул на флешку, еще пол памяти телефона свободно. Чем ее забить то?
              • 0
                Ну так в Desire Z её значительно больше, чем в Desire, если я правильно понимаю.
      • 0
        имхо наоборот, следовало бы стандартизировать подход app2sd, т.е. предусмотреть штатную работу с картой с двумя разделами ext/fat и не использовать встроенную память под программы
    • +1
      > работающая под FAT32 папка /sdcard (или, как она называется в API — «папка внешнего носителя информации») не поддерживает разграниченного доступа, что нормально, так как это общая, открытая для всех файлопомойка, где одно приложение может топтаться по файлам другого.

      Когда я привожу подобный аргумент про iOS, меня или минусуют или смотрят, ка кна ненормального. Учитывая, что в iOS (да и в андроиде, судя по всему, тоже), каждое приложение — это отдельный sandbox, не имеющий доступа в другие, то скажите мне, какое из придожений и почему будет иметь доступ к карточке?
      • 0
        Какой именно аргумент?

        А в андроиде да, приложения разграниченны, у каждого есть свой приватный сторэдж, но запросив соответствующий доступ может читать/писать с карточки. Это полезно всяким медиа плеерам, вьюверам, файловым менеджерам, и тд. Еще, поскольку традиционно на карточке было больше места, чем на встроенной памяти, всякие игры скачивают и хранят там крупные файлы.
        • 0
          Аргумент про то, что каждое приложение изолировано от другого приложения и не имеет доступа к данным другого приложения. В случае с карточкой, цитирую «работающая под FAT32 папка /sdcard (или, как она называется в API — «папка внешнего носителя информации») не поддерживает разграниченного доступа, что нормально, так как это общая, открытая для всех файлопомойка, где одно приложение может топтаться по файлам другого.»
          • 0
            Сорри, я все равно не понял — аргумент против/в пользу чего?
  • 0
    Ладно, допустим можно придумать другой протокол вместо UMS если это создает какие то проблемы. Но что реально пугает в этом интервью, так это информация, про использование FUSE.
    Я не разработчик ядра, но встречался с компетентными мнениями о глючности FUSE.
    • 0
      FUSE уже достаточно стабилен. Доказано не одним десятком дестрибутивов с включенной поддержкой ntfs посредством ntfs-3g.
  • –1
    Google, I am disappoint…
    • 0
      Поддержка UMS есть. Именно нексус вас покупать не заставляют.
      • –1
        Еще бы меня кто заставлял. Просто я владелец N1. Привык к последним обновлениям, рассматривал N3 как замену. А вот теперь серьезно так задумался: обновления, оно, конечно, хорошо, но apple-way — совсем не хорошо.
        • 0
          Спорный вопрос, мне наоборот текущий курс развития андроида больше по душе. А то развели анархию.
          • +1
            Так отсутствие слота памяти, которое они выводят из идеологии (якобы «решенной проблемы») — самый что ни на есть apple-way. Всегда проще за пользователя решить, что расширять память ему не надо, а подключать как флешку в любую систему без бубна коммуникатор — не так нужно. Если бы действительно хотели решить проблему, придумали бы систему балансировки заполнения внутренней и внешней памяти.
            • 0
              Какой такой идеологии? И проблемма внутренней памяти — она «якобы проблемма»? Вы заметку читали? Единственная идеология, это то, что они не хотели усложнять жизнь пользователя иразработчика — и это может только радовать.
              • 0
                А вы сами-то читали заметку? Они говорят, что «не хотели усложнять жизнь пользователю» — и поэтому под нож пустили слот карты памяти. Если это не идеология, то что это? Можно было оставить слот, а кому он не нужен — пусть и не использует. Это не «якобы проблема», это проблема и есть. Если вас всё устраивает, не надо говорить, что её нет — просто она вас не задевает.
                • 0
                  Еще раз, жизнь пользователю решили упростить решив серьёзную проблему и объединив обе ФС в одну. Большинство пользователей от этого только выиграет, а кому нужен SD — возьмет себе аппарат, который поддерживает SD, благо у ICS с этим нет никакой проблемы. Вам не нравится Galgaxy Nexus — не берите его, никто ведь не заставляет. Но и не надо садиться на измену на пустом месте…
                  • 0
                    По-моему, вы читаете невнимательно.
                    • 0
                      Как вы думаете — читал ли я статью, если я сам ее перевел? :)
                      Ладно, пустое. Я не вижу причины продолжать этот диалог, когда вы задаете вопрос прямой ответ на который есть в статье («почему нельзя сделать оба»), а потом спрашиваете меня, читал ли я заметку…
                      • 0
                        Ну вот, снова — я о своих комментариях, а не о статье :)
        • 0
          Ну насчет apple-way вы загнули ИМХО. Да они решил серьезную проблемму, попутно создав новое неудобство, но от этого до «apple-way» как до луны. Они не ограничили приложения в функциональности, не запретили доступ к файловой системе, не сломали совместимость. Да, заменили один протокол другим, менее удобным, из за технических ограничений, но тут никакой идеологией или попыткой урезать юзера в правах и не пахнет…
          • –1
            В самой системе, к счастью, нет, а в новом нексусе — да. Иначе они бы таки встроили слот для карточки, а не оправдывали его отсутствие каким-то странным «удобством». Мне, например, удобно, когда кроме внутренней памяти, есть внешняя — потому что внутренней там не так уж и много.
            • 0
              Вам мало 16 гигабайт на смартфоне?
              Я тоже помню горячую замену карты памяти рассматривал как преимущество, но вот уже год я карточку не доставал, и масс сторадж не использовал. А использовал именно MTP или как его там. И ничего, и по папкам все передается и т.п.

              Так что для меня карта памяти скорее минус чем плюс.
              • –1
                Вы будете смеяться, но таки да, мне сейчас даже 32 гигабайт — мало. Музыка, видео, фотографии, приложения и т.д. Думал, с новым Нексусом будет комфортнее — ведь там еще и встроенную память увеличат. А в итоге имеем, что имеем: внешней памяти нет вообще, а встроенной немного меньше, чем у меня на том же N1. И к тому же, благодаря этому решению, еще и не будет замечательной возможности работать с коммуникатором прозрачно. Если это не шаг назад, то что это?
                • 0
                  Вроде же есть модификация с 32 внутреней.
                  • 0
                    На новом 32гб — внутренняя память, и на этом всё. А у меня 32гб — внешняя память. А есть же еще внутренняя, хоть её и мало. Потому я говорю, что на новой модели, потенциально, меньше доступно места, чем на N1.
                    • +2
                      Как раз больше, а не меньше. До этого, даже если бы вы воткнули 100гб, все равно внутреняя память быстро бы забилась, и вы бы не смогли устанавливать новые приложения. Теперь, пользователь не столкнется с такой проблеммой, а если столкнется — то сможет ее решить, скажем просто стерев пару фотографий. До этого, ему ничего не оставалось, как начинать чистить программы. А слот памяти это приятное до полнение, но вообщем то довольно безполезное с точки зрения пользователя — все равно телефон покупается с карточкой, которая за время жизни аппарата никогда не покидает свой слот. Я, как владелец аппарата с такой карточкой, абсолютно точно предпочел бы, чтоб эта память была бы встроенной, и мне не нужно было думать, сколько еще места мне осталось для приложений. Серьезно, это намного важнее возможности вытащить карточку, которой на 4 года использования андроида на нескольких аппаратах, я не разу не воспользовался. Тем более, если спрос на такую фичу будет, то и буду продаваться аппараты с ней, а из мейнстрима думаю это уйдет, так как большинству пользователей это нафиг не нужно.
                      • 0
                        Если вы не умеете ставить программы на карточку, и вам хватает объема карточки по-умолчанию, то я за вас искренне рад, эта «фича» действительно вам подходит и делалась ради вас. Если интересует моё мнение, оно обозначено выше.
                        • 0
                          Смею заметить, что я на личности не переходил. А мнение интересно, да, но что-то пока что, вы ничего путного, кроме «караул! измена!» так и не сказали…
  • 0
    Жаль, но если надо будет — сами напишем и допилим их косяки :)
  • –1
    Точнее не допилим, а исправим. )
  • +2
    Можно установить Samba server на телефон и подключаться как к сетевому диску.

    Вот например market.android.com/details?id=com.funkyfresh.samba&hl=en
    • +1
      Мееееедленно…
    • 0
      Или ftp/http/ntfs на любой выбор. Собственно файлы на honeycomb планшет я как раз заливаю через веб-интерфейс этой программы: market.android.com/details?id=xcxin.filexpert
      В какой-то степени — это даже удобно, планшет лежит заряжается на тумбочке в спальне, что не мешает на него в это время на него что-нибудь переписывать :) Хотя, конечно, большие файлы вроде HD фильмов было бы удобнее и быстрее заливать по USB. Но из коробки Galaxy Tab не работал не в Убунте, не в запасной XP. То ли поддержка MTP в этих системах плохая, то ли Самсунг опять что-то намудрил.
      • +1
        ntfs? При чём тут файловая система ntfs?
        • 0
          Упс, я имел в виду nfs
      • 0
        turn off debug mode in setting. И будет тебе счастье )) galaxy tab 10.1 user.
        • 0
          Кажется он был выключен, когда я экспериментировал, но я попробую, спасибо :)
  • +2
    «Мороженный бутерброд» — это обычный советский пломбир в вафлях, брикет.
    • +1
      Это была шутка юмора, не думаю что это приживется :) А «пломбирные телефоны» — это звучит неплохо :)
      • 0
        Так и я о чем! Айскрим сэндвич на английском вполне прилично звучит. А у нас пломбирный телефон пусть будет. Я лично нисколько не против :-)
  • +1
    Интересно с этим дело обстоит в MIUI. Если SD карта не доступна, все пишется на внутреннюю память (фото например). Когда карточка появляется, возникает вопрос на предмет а не скопировать ли барахло на карточку. Мне понравился такой подход. По крайней мере приложения не блокируются из-за отсутствия внешнего стореджа.
  • +2
    Кстати, никто не отменял еще команды adb push и adb pull. Ну это так, для гиков ;) И ничего не нужно маунтить.
    • 0
      Часто это оказывается сильно быстрее, если надо закинуть один-два файла, или даже установить приложение (adb install), в т.ч. сразу на флешку (ключ -s).
  • +1
    > Вам больше не приходится грустно взирать на свободные 5гб на вашем Nexus S, в то время как внутренний раздел для приложений забит под завязку
    Никогда не понимал, почему на многих современных телефонах делают такие маленькие разделы под приложения при такой большой внутренней памяти.

    А вообще, хоть мой телефон и поддерживает usb mass storage для внутренней и внешней sd, я им довольно редко пользуюсь — банально лень искать шнур, проще запустить adbWireless виджетом и сделать adb push. Ну или скидываю в CIFS/NFS-шару, а на телефоне через файл-менеджер копирую куда нужно.
  • –2
    USB stick successfully mounted on the Galaxy Nexus. Handy. twitpic.com/7iaos4
    • +1
      Это наоборот когда телефон работает USB-хостом, а заметке речь про монтирование самого телефона как mass storage device.
      • 0
        Да, вы правы.
  • 0
    На виндоуз (который у большинства пользователей), есть встроенная поддержка MTP и в эксплорере, и устройство выглядит точно так-же как обычный диск. На Линуксе и Маке, к сожалению, все не так просто, но я уверен, что в скором времени, ситуация улучшится.


    Чую, что про до сих пор не работающий в Линуксе Internet Passthrough когда-то говорили то же самое.
    Скорблю.
  • –1
    На маркете для рут-устройств есть программа, которая не отмонтирует флешку от системы, позволяя использовать её как UMS. Интересно, с ней новый нексус сможет работать как UMS?

    Ссылка market.android.com/details?id=com.rafoid.multimountsdcard.widget
    • +1
      Чуть выше целая ветка обсуждения такого рода программ.
      • 0
        Спасибо, уже прочитал. Тогда было не до комментариев.
  • 0
    Всё правильно сделали. SD карта на адроиде всегда была страшнейшей помойкой, тем более без разделения доступа это ещё и рассадник вирусятины. Так что всё правильно, олдфагам придётся перестроится и получать удовольствие :)
    • 0
      Вы бы прочитали заметку сначала, что бы ерунды не нести. /sdcard и способы работы с ним остались как есть, просто в некоторых устройствах, его перенесли на внутренюю память для более эффективного использования места.
      • 0
        Если бы они этого не сделали, то поломали бы кучу программ. Он же пишет, что это первый шаг.
        • 0
          Первый шаг к чему? Файловая помойка в виде SD-карточки или её аналога никуда не денется — фотографии и медиа файлы по любому где-то надо хранить. Возможно, со временем ей станут меньше пользоваться, например игрушки скачивающие свой кэш на карточку — это следствие того, что сейчас в большинстве случаев на /sdcard намного больше места, чем в личной директории приложения, но если это измениться, то и данные постепенно перекочуют туда, где им и место — в личной директории приложения.
          • 0
            Правильно заданный вопрос практически всегда содержит ответ :)
  • 0
    Разработчики не слышали про mhddfs? Эта вещь позволяет смонтировать 2 директории в 1 (в итоге получаем /data, в которой есть файлы /sdcard -> /dev/mmcblck0 и /olddata -> /dev/mtd5). Ну и немного поиграться с приоритетом сохранения. Вуаля, имеем SD с FAT32, объединённую с внутренним хранилищем с ext3, например.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.