Как подключить Android 7.1 к Ubuntu Linux через USB?

20

Я пытаюсь подключить телефон Google Pixel с android 7.1 к ноутбуку Ubuntu 16.04 с помощью кабеля USB с помощью mtp-tools. Но mtp не видит файловую систему телефона и выдает сообщение об ошибке «Ошибка получения информации о хранилище».

Затем попробуйте инструменты MTP ...

# mtp-detect
libmtp version: 1.1.10

Listing raw device(s)
Device 0 (VID=18d1 and PID=4ee1) is a Google Inc (for LG Electronics/Samsung) Nexus 4/5/7/10 (MTP).
   Found 1 device(s):
   Google Inc (for LG Electronics/Samsung): Nexus 4/5/7/10 (MTP) (18d1:4ee1) @ bus 2, dev 17
Attempting to connect device(s)
Android device detected, assigning default bug flags
Error 1: Get Storage information failed.                 ***** ???
USB low-level info:
   bcdUSB: 512
   bDeviceClass: 0
   bDeviceSubClass: 0
   bDeviceProtocol: 0
   idVendor: 18d1
   idProduct: 4ee1
   IN endpoint maxpacket: 512 bytes
   OUT endpoint maxpacket: 512 bytes
... many lines omitted ...


# mtp-connect
libmtp version: 1.1.10

Device 0 (VID=18d1 and PID=4ee1) is a Google Inc (for LG Electronics/Samsung) Nexus 4/5/7/10 (MTP).
Android device detected, assigning default bug flags
Usage: connect <command1> <command2>
Commands: --delete [filename]
          --sendfile [source] [destination]
          --sendtrack [source] [destination]
          --getfile [source] [destination]
          --newfolder [foldername]


# mtp-filetree
Device 0 (VID=18d1 and PID=4ee1) is a Google Inc (for LG Electronics/Samsung) Nexus 4/5/7/10 (MTP).
Attempting to connect device(s)
Android device detected, assigning default bug flags
Error 1: Get Storage information failed.
Device: (NULL)
LIBMTP_Get_Storage(): Resource temporarily unavailable
OK.

В случае, если это полезно ...

cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee1", MODE="0666", OWNER="sullivan"

Большое спасибо за любые советы!

Sullivan
источник

Ответы:

32

Вот что я нашел работы:

  • Во-первых, не обращайте внимания на все комментарии в сети, которые вы видели о /etc/udev/rules.d/51-android.rules. Этот файл не нужен.

  • Во-вторых, пропустите mtp-tools. Они не документированы, и в любом случае jmtpfs намного проще.

  • Установите пакет jmtpfs: sudo apt-get install jmtpfs

  • Создайте каталог, любой каталог: sudo mkdir /media/myphone
  • Подключите USB-кабель
  • Разблокировать андроид телефон.
  • Проведите пальцем вниз от верхней части экрана телефона
  • Вы должны увидеть уведомление "USB ..."
  • Нажмите на это уведомление.
  • Вы должны увидеть меню «Использовать USB для ...», выбрать «Передача файлов».

  • По вопросу компьютера Linux:

sudo jmtpfs /media/myphone

ls /media/myphone

fusermount -u /media/myphone

Sullivan
источник
2
Благодарю. Достаточно найти это уведомление и выбрать файлы для передачи. Кажется, он не помнит, и мне придется делать это каждый раз. (Кстати, вполне возможно, что я установил что-то вроде mpt-tools, для более ранней версии Android, моего предыдущего телефона, поэтому он «только что
Даррен Кук,
Спасибо. Я просто последовал совету «подключить телефон» - и есть!
ycc_swe
2
Если вы добавите опцию 'allow_other', монтирование также будет доступно для других пользователей, кроме root, используя 'uid' и 'gid', вы можете установить user: group точки монтирования: sudo jmtpfs / media / motox -o uid = 1000, gid = 1000, allow_other
правящий
1
Благодарю. Это сработало для меня. Тем не менее, я ТОЛЬКО должен был пойти так далеко, Unlocking my phoneи как только я подключил USB, SD-карта моего телефона была установлена ​​и стала активной.
Thn
1
Он также может быть смонтирован в пользовательском каталоге, без необходимости sudo.
Hibou57
6

Это работает для меня на Motorola Moto Z Force Droid под управлением Android 7.1.1:

На телефоне перейдите в «Настройки»> «Параметры разработчика» (включите, если еще не включен)> прокрутите вниз, чтобы выбрать «Конфигурация USB»> выберите «Протокол передачи изображений»>, а затем снова выберите «Протокол передачи мультимедиа». Внутреннюю память телефона и SD-карту памяти (если есть) затем монтируют.

Мне не нужно было устанавливать какое-либо программное обеспечение на компьютер Ubuntu 16.04.3, который я использую.

Дон карон
источник
В Android Oreo перейдите в «Настройки» -> «Дополнительно» -> «Параметры разработчика» -> «Конфигурация USB по умолчанию» и выберите «Передача файлов». Я заметил, что по умолчанию включено «Без передачи данных».
elig
1

Ответ Салливана сработал для меня, но только после того, как я заменил кабель, который использовал. С предыдущим кабелем (длиной 2 метра) соединение было очень медленным или часто отключалось.

Кроме того, в дополнение к ответу Салливана я сделал следующее:

  • Зашел в настройки разработчиков в моем Android 7.0 (Moto G5 Plus) и включил отладку по USB. Без этого никакая связь была бы невозможна!
polaatx
источник
0

У меня Moto Z2 Force под управлением Android 8.0.0, и я подключаюсь к ПК под управлением 64-битной Ubuntu 16,04 LTS

Я не видел «Параметры разработчика» на своем телефоне, но выбрав «Настройки»> «Подключенные устройства»> «USB»> «Передать файлы», он позволяет копировать файлы GUI с моего телефона. ПРИМЕЧАНИЕ. Вам необходимо подключить USB-накопитель, или же параметры USB будут скрыты. Это не позволяет загружать файлы на телефон, просто копировать с него ..., но это просто ужин.

user833299
источник