Jak przesyłać pliki między Androidem a Linuksem przez USB?


26

Chcę skopiować niektóre pliki filmowe z systemu Linux na telefon HTC One SV z Androidem (nie zrootowany).

W systemie Windows mój telefon automatycznie podłącza woluminy wewnętrzne i karty SD po podłączeniu, co pozwala mi przesyłać pliki.

W Linux Mint 13 Mate zawsze pojawia się błąd, gdy podłączam telefon za pomocą kabla USB, wówczas montaż może potrwać kilka minut, a czasem się nie powiedzie. Myślę, że błąd polegał na…

Błąd inicjalizacji kamery: -60: Nie można zablokować urządzenia

Jak mogę to zrobić?


Powiedziałbym, że problem leży w sprzęcie, a nie w oprogramowaniu, a zwłaszcza w Linuksie ani w twojej dystrybucji.
Bananguin,

Mój starożytny telefon z systemem Android 2.3 jest postrzegany jako urządzenie pamięci USB. Jakiej wersji Androida używasz?
Renan

Aby zobaczyć, co dzieje się w telefonie, możesz spróbować użyć ADB. ADB to narzędzie z SDK od Androida. Możesz zobaczyć wszystko w swoim telefonie. I spójrz na LogError.
Ein5t3in

Korzystam z Androida 4.1
lamwaiman1988

włączenie debugowania USB zapobiegnie blokowaniu urządzenia podczas połączenia. Odkryłem, że MTP zawsze kończyło się niepowodzeniem, ilekroć urządzenie jest automatycznie blokowane.
cheezsteak

Odpowiedzi:


17

AKTUALIZACJA: Istnieje teraz kilka lepszych alternatyw dla Airdroid. Wydaje się jednak, że większość dystrybucji Linuksa działa teraz dość dobrze z MTP. Wiem z mojego doświadczenia, że ​​Mint (oparty na Ubuntu) działa od razu, podobnie jak Manjaro (oparty na Arch). Jeśli to nie działa po wyjęciu z pudełka lub natywnie, należy poszukać w menedżerze pakietów rozwiązania MTP.


Nowsze wersje Androida instalują pamięć masową jako urządzenie MTP zamiast pamięci masowej. Zaletą tego jest jednoczesny dostęp do urządzenia z systemem Android i komputera. Niestety, podczas gdy Windows obsługuje go natywnie dobrze, rozwiązania linux są obecnie dość wadliwe.

Obecnie najbardziej niezawodny (i nadal jest trochę niestabilny, aby zacząć, ale po podłączeniu jest w porządku), który znalazłem, to go-mtpfs. Oto link, który pomoże Ci to skonfigurować. Musisz zamontować / zsiąść z linii poleceń. Istnieje jednak również program uruchamiający jedność w tym wątku, jeśli korzystasz z Ubuntu Unity.

Najlepszą opcją, chyba że przesyłasz dużo danych, jest użycie czegoś takiego jak AirDroid. Jest to bezpłatna aplikacja w sklepie Play do przesyłania lokalnych sieci i zapewnia interfejs sieciowy do użycia w przeglądarce komputera. Zapewnia nawet interfejs przeciągania i upuszczania plików, a także umożliwia dostęp do wiadomości SMS, dzienników połączeń, instalacji aplikacji i wielu innych rzeczy.


Zainstalowałem najnowszą wersję Linux Mint 15 Olivia, ponieważ zespół stwierdził, że starali się połączyć z Androidem. Próbowałem połączenia USB, działa dobrze. Znacznie lepiej niż Linux Mint 13. Myślę więc, że to tylko problem z linuksem z przesyłaniem MTP, a wydajność różni się w zależności od dystrybucji.
lamwaiman1988

1
Aby zwiększyć prędkość, możesz również użyć, adb pulljak opisano w tym poście: vxlabs.com/2014/11/06/…
Stefan van der Walt

28
@ lamwaiman1988 I CHCĘ NIE POWIERZYĆ AIRDROID. Uprawnienia aplikacji Airdroid: 1. Historia urządzenia i aplikacji 2. Tożsamość 3. Kontakty / Kalendarz 4. Lokalizacja 5. SMS 6. Telefon 7. Zdjęcia / Media / Pliki 8. Aparat / Mikrofon 9. Informacje o połączeniu Wi-Fi 10. Identyfikator urządzenia i połączenie Informacja .... Po zobaczeniu tej ogromnej listy chciałem dowiedzieć się więcej o firmie. „Sand Studio” jest częścią „Tongbu Networks”, która działa w Chinach . Xiamen Tongbu Networks - Szczegóły: „Xiamen Tongbu Networks Ltd; C, pokój 3, nr 2, Wanghai Road, Software Park II, xia men shi, fu jian, 361000, Chiny, +86.05922179187”.
a20

W związku z powyższym ta recenzja PcWorld była ironiczna: „Ta aplikacja pozwala przejąć pełną kontrolę nad urządzeniem z Androidem za pośrednictwem przeglądarki internetowej komputera”.
a20

2
AirDroid pobiera teraz opłatę za „funkcję” lokalnego przesyłania plików.
sybind

9

Możesz spróbować użyć darmowego (bezpłatnego) menedżera plików ES File Explorer na swoim telefonie z Androidem.

Wśród wielu funkcji ma serwer FTP. Jeśli więc możesz połączyć telefon i komputer w sieć, możesz z łatwością przesyłać pliki w obie strony z komputera. Cały czas robię to z maszyn Ubuntu i Fedory (przez Thunar).

Tryb serwera FTP w tej aplikacji nazywa się „Remote Manager”, znajduje się w sekcji Narzędzia.

Większość współczesnych menedżerów plików akceptuje następującą składnię:

ftp://phone_ip_address:port

1
Teraz znajduje się w sekcji Sieć.

3

Zasadniczo powinno to być tak proste, jak użycie karty pamięci. Niestety tak nie jest. Ale podobnie jak inne integracje Linux nadrobi zaległości.

W międzyczasie można było korzystać z Wi-Fi i sshd w systemie Linux oraz klienta sftp po stronie smartfona.

Lub skorzystaj z interfejsu Linux adb CLI, aby korzystać z transferów USB.


2

mtpfs - system plików FUSE dla urządzeń Media Transfer Protocol

apt-get install mtpfs

Gotowy. Działa jak w systemie Windows w Linux Mint / Ubuntu / etc.


2
sudo apt-get install jmtpfsna jessie
Erik255,

to jmptpfsteż na wheezy.
sjas,

2

Zgadzam się, że to nie jest tak proste, jak powinno być. Na przykład KDE ma implementację MTP, ale może tylko czytać obrazy, a nie pisać (przynajmniej w mojej wersji).

Odkryłem, że dużo łatwiej było to zrobić przez sieć. Można to zrobić na wiele sposobów. Usuario wspomniał o Eksploratorze plików ES.

Korzystałem z tego darmowego serwera FTP z Androidem o otwartym kodzie źródłowym i uznałem go za prosty. Podajesz nazwę użytkownika i hasło, a następnie uruchamiasz serwer FTP (jest bardzo jasne, czy serwer jest uruchomiony i łatwe do włączenia / wyłączenia).

Następnie wystarczy użyć dowolnego klienta FTP (istnieje wiele klientów graficznych, np. Użyłem Konquerora). Z łatwością mogłem zapisać pliki z powrotem na telefonie.

Jedyną wadą jest to, że jest prawdopodobnie nieco wolniejszy niż w przypadku wydajnego protokołu USB i że FTP nie jest bezpieczny (wszystko jest w postaci czystego tekstu). To samo powinno być możliwe, ale z serwerem SFTP dla Androida; Po prostu jeszcze go osobiście nie znalazłem.


2

Po poszukiwaniu wielu rozwiązań tego problemu znalazłem Android File Transfer dla systemu Linux . To najlepsza implementacja MTP dla Linuksa, po prostu działa.

Możesz zobaczyć, że ten problem został opisany w Liście głównych problemów z Linuksem na pulpicie .

Linux nie ma niezawodnie działającego, szybkiego, natywnego (bezpośrednio montowanego przez jądro; FUSE go nie wycina). Implementacja MTP. Aby pracować z urządzeniami MTP, takimi jak ... telefony z systemem Android oparte na systemie Linux, lepiej użyć ... Windowsa lub MacOS X. Aktualizacja: rosyjski programista był tak zirytowany libMTP, że napisał własną kompletną aplikację opartą na Qt, która mówi do jądra Linux bezpośrednio za pomocą libusb. Poznaj system Android-File-Transfer-Linux.


1

Zakładając, że używasz połączenia USB, okazało się, że działa, ale musisz robić rzeczy w określonej kolejności:

  • Nie podłączaj telefonu na początek.
  • W telefonie przejdź do Ustawienia -> Sieć bezprzewodowa i sieć -> Narzędzia USB i kliknij „Podłącz sklep do komputera”. Telefon powie „Podłącz kabel USB, aby użyć pamięci masowej”.
  • Teraz podłącz kabel USB do telefonu. Powinien pokazywać ikonę „zielonego Androida” i komunikat podłączony do portu USB.

(Myślę, że mój telefon ma starszą wersję Androida, mam nadzieję, że to działa w ogólnym przypadku).


Ash ma rację, dziękuję za podpowiedź !, działa dobrze. Aby przesłać pliki mp3, musisz nacisnąć (na telefonie komórkowym) tam, gdzie jest napisane: Połącz z USB; kiedy to zrobisz, otworzy się okno z rytmem lub inny program. Następnie wystarczy przeciągnąć pliki z pola rytmu do miejsca, w którym jest napisane URZĄDZENIE w polu rytmu. Pliki będą w telefonie komórkowym w folderze o nazwie Muzyka. Możesz zobaczyć wszystkie pliki folderów na pulpicie, naciskając ikonę urządzenia.
user66631

1
Niestety nowsze wersje Androida nie obsługują trybu pamięci masowej. Tylko mtp (lub ptp w niektórych przypadkach). Linux nie obsługuje bardzo dobrze protokołu mtp.
Edward Falk,

@ Edward: tak, masz rację. Po „uaktualnieniu” Galaxy S2 do S3 tryb pamięci masowej nie był już dostępny. Jak Drake mówi w przyjętej odpowiedzi, stwierdziłem, że MTP jest bardziej niestabilne niż pamięć masowa, więc jest to trochę niefortunne, ale kiedy już uruchomisz, będzie w porządku. Używam gMTP jako klienta GUI, który działa dobrze, ale działa dość wolno.
Ash

1

Byłem w stanie użyć rsync do przesłania moich plików z mojego telefonu HTC. Polecenia to:

$ mkdir HTC_Dump
$ cd HTC_Dump
$ rsync -av /run/user/1000/gvfs/mtp\:host\=%5Busb%3A002%2C010%5D/ ./

Wynikające z:

wysłane 12 947 428 344 bajtów odebranych 38 549 bajtów 9 738 598,64 bajtów / sek. całkowity rozmiar to 12 944 119 635 przyspieszenie to 1,00

Lokalizację plików telefonu znalazłem, przeglądając mój /runkatalog.

To było na Xubuntu 17.10, Artful Aardvark, Android był na HTC z systemem Android w wersji 7.0.


nie ma potrzeby rsync ,,, wystarczy polecenie kopiowania cp -r /run/user/1000/gvfs/mtp\:host\=%5Busb%3A002%2C010%5D/ ~/Destination/Folder. Mówię to w kontekście robienia jedynej kopii, oczywiście, jeśli chcesz zaktualizować komputer za pomocą najnowszych zrobionych zdjęć, to rsync jest właściwą drogą.
Exadra37

1

Robię to za pośrednictwem sieci FTP utworzonej przez ES File Explorer.

Przede wszystkim ustaw urządzenie jako przenośny punkt dostępu w ustawieniach → Tethering i przenośny punkt dostępu → zaznacz „Przenośny punkt dostępu Wi-Fi”, a następnie podłącz komputer do urządzenia za pomocą Wi-Fi.

Sprawia, że ​​Twoje połączenie jest szybsze niż połączenie za pośrednictwem centralnej sieci WLAN. Następnie wykonaj następujące czynności:

  1. Otwórz Eksploratora plików ES
  2. Przejdź do Sieć → Remote Manager
  3. Naciśnij przycisk „Włącz”
  4. W systemie Linux (używam Ubuntu) otwórz menedżera plików
  5. Kliknij „Połącz z serwerem” w lewym menedżerze plików
  6. Wprowadź adres urządzenia, które pojawiło się w Eksploratorze plików ES

( ftp://...:...).

Teraz możesz traktować urządzenie jak dysk komputera.


1

Sdcard jest zwykle systemem plików exfat, który domyślnie nie jest rozpoznawany przez Ubuntu - nie wiem, czy tak jest w przypadku innych dystrybucji. Aby mój Ubuntu 16.04 LTS mógł pisać w systemie plików exfat, zrobiłem:

sudo apt-get install exfat-fuse exfat-utils

Teraz mogę po prostu podłączyć telefon z Androidem na pulpicie Ubuntu za pomocą USB i skopiować pliki na kartę SD (64 GB).


0

Wypróbuj to polecenie i uruchom ponownie, zadziałało dla mnie.

sudo apt-get install libmtp-common mtp-tools libmtp-dev libmtp-runtime libmtp9

Czy to jest zakres rozwiązania?
Jeff Schaller

To, co działało dla mnie, dosłownie uruchomiłem polecenie, zostało poproszone o ponowne uruchomienie, a po ponownym zalogowaniu mogłem czytać / zapisywać pliki na urządzeniu z Androidem za pomocą menedżera plików Dolphin. Nie musiałem nic robić ani zmieniać plików edycji.
Robby Lebotha

Używam Xubuntu z KDE Plasma 5 na moim Asusie Ux303
Robby Lebotha

Powinieneś dodać tę informację do tekstu swojej odpowiedzi, która bez niej jest niekompletna i myląca
nealmcb

0

Przekonałem się, że działa tylko w przypadku USB, jeśli użyję kabla dostarczonego z tym urządzeniem lub podobnym urządzeniem. Kabel USB z nieistniejącego tabletu Samsung działa dobrze z moim zamiennikiem na Androida Onix. Jedyną rzeczą, która działa dla mojego telefonu, jest ten kabel, który został z nim dostarczony. Inne kable USB do ładowania / przesyłania nie działają lub nie są w pełni: na przykład nie kopiują plików .mp3. Nie mam pojęcia, dlaczego tak jest. Ale kable inne niż urządzenia często nie pojawiają się jako załącznik urządzenia USB.

Nie musiałem modyfikować oprogramowania ani używać specjalnego oprogramowania. Po prostu działa.


0

W Linux Mint 19.1 przesyłanie dużej liczby zdjęć można łatwo wykonać, aktywując Opcje programisty i przechodząc do telefonu z Androidem „Ustawienia” „Opcje programisty”, „Konfiguracja USB”. Następnie wybierz PTP (Picture Transfer Protocol) zamiast MTP. Teraz zdjęcia będą przesyłane z prędkością błyskawicy za pomocą eksploratora plików.


0

Wiele dobrych odpowiedzi Chcę po prostu wszystko uprościć:

sudo apt install mtp-tools

Teraz podłącz telefon z Androidem przez USB, kabel ma znaczenie, więc jeśli jeden nie działa, spróbuj innego.

mtp-detect

Gotowy. Otwórz aplikację lub terminal i przenieś!


0

Właśnie dostałem telefon Google Pixel 3 i muszę przenieść z niego zdjęcia / filmy do mojej Linux Mint 18.2. Oto jak to zrobiłem:

  1. Na moim telefonie zainstalowałem Cx File Explorer
  2. Otworzyłem aplikację i nacisnąłem kartę „Sieć”
  3. Nacisnąłem przycisk „Dostęp z komputera”
  4. Pozostawiłem wartości domyślne na polach wyboru (zaznaczone „Losowy numer portu”, niezaznaczone „Pokaż ukryte pliki”) i kliknąłem „Uruchom usługę”
  5. Eksplorator plików Cx wyświetlił adres URL FTP
  6. Na moim laptopie z systemem Linux otworzyłem menedżera plików i kliknąłem opcję „Plik -> Połącz z serwerem ...”
  7. W oknie dialogowym „Połącz z serwerem” wpisałem adres URL FTP z kroku (5) w polu tekstowym „Serwer” i kliknąłem „Połącz”
  8. Teraz mogę zobaczyć pliki mojego telefonu w menedżerze plików laptopa
  9. Zdjęcia i filmy, które chcę przenieść, znajdują się w folderze device / DCIM / Camera (a nie w folderach device / Movies lub device / Pictures, jak może się wydawać).

0

Korzystam z mennicy 19.2. Mój telefon to Pixel 1. generacji z systemem Android 10. Po znalezieniu rozwiązania i wypróbowaniu opcji MTP sugerowanych przez wielu bez powodzenia, okazało się, że jeśli przejdziesz do Ustawienia -> Podłącz urządzenia -> USB i zmienisz „UŻYJ USB NA Transfer plików / Android Auto ”, Nemo montuje pamięć telefonu i zapewnia dostęp do plików urządzeń. Mój telefon został ustawiony jako „Brak transferu danych”. Teraz, gdy najpierw sprawdziłem ustawienia USB, prawdopodobnie rozwiązania MTP mogły działać. Na marginesie, żadne z sugerowanych rozwiązań na StackExchange, HowToForge lub OMG! wspomniano najpierw o sprawdzeniu ustawień USB w telefonie. Przeczytałem kilka postów, że MTP na mennicy „działa od razu po wyjęciu z pudełka”. Ale znowu nie ma wzmianki o sprawdzeniu ustawień telefonu. Mam nadzieję że to pomoże.


Szereg komentarzy sugeruje instalację narzędzi mtp. Nie mówię, że to nie jest konieczne. Uważam, że pierwszym krokiem jest upewnienie się, że ustawienia USB są ustawione na zezwolenie na transfer plików przed zainstalowaniem dodatkowych pakietów. W moim przypadku zainstalowałem libmtp9 (potrzebny w 19.04 LTS) i mtp-tools. Po prostu dostałem Unable to open raw device 0komunikat o błędzie. Odinstalowane narzędzia mtp, włączone ustawienia USB i przeglądarka plików viola pojawiły się na urządzeniu pamięci masowej Pixel, jak na każdym innym dysku.
hackerkatt

0

Nie musisz niczego instalować.

po prostu wykonaj następujące czynności:

  1. podłącz kabel USB (?) między urządzeniem z systemem Linux a smartfonem. (Kabel USB (?): Zawsze używasz podczas ładowania smartfona).

  2. Następnie telefon zapyta, czy zezwolisz na dostęp do danych urządzenia. Jeśli wybierzesz Zezwól, zostanie ustanowione połączenie MTP w celu uzyskania dostępu.

  3. Możesz przenosić pliki między maszyną linux a adndroidem.

To wszystko.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.