由于最新版本(ICS +?)不再具有大容量存储,因此MTP是否有可行的替代方案?

协议似乎天生就被破坏了,退回到这种格式的决定似乎非常“ iphone- esque的举动(笨拙的东西,降低了用户的力量)。

似乎有很多问题(例如,文件未显示),在我看来,传输文件应该比简单需要重新启动系统-我对这种方式提出了不合理的要求。

我知道诸如Wi-Fi文件传输之类的工具,但通常我发现自己处在没有wifi的区域,只有笔记本电脑,电话和一部USB电缆。例如,前一天,我是一架飞机,那绝对是不利于使用无线系统的环境。

评论

使用以下方法之一:askubuntu.com/questions/189591/…SSH SFTP可以使用。

世界需要更多像你这样的人! “笨拙的事情,剥夺用户的权力” **您立刻是我的朋友,亲切的。 **欢迎来到高级用户俱乐部。

#1 楼

在Windows 7上测试了以下方法;基于Ubuntu的发行版和Slackware,具有桌面环境KDE 4.1x。关于Mac没什么可说的。答案旨在用作各种方法的综合指南。

以下几种方法都需要启用USB网络共享。可以通过以下说明来实现:


其中一些信息仅适用于运行Android 5.0及更高版本的设备。如果您的设备运行的是4.4或更低版本,则菜单图标看起来像。如果您的设备运行的是4.3或更低版本,则“设置”图标如下所示:
设置和使用USB网络共享连接(包括Windows XP的说明)

1.使用USB电缆将设备连接到另一台设备。
2.在屏幕顶部,您会看到一个USB图标和一个通知,已连接为媒体设备或已连接为相机。出于网络共享的目的,连接的类型无关紧要。
3.打开设备的“设置”菜单
4.在“无线和网络”下,触摸更多>网络共享和便携式热点。
5选中复选框或打开“ USB绑定”旁边的开关。建立连接后,您会看到以下通知之一,并且可以连接到Internet(如果您的设备运行的是Andriod 4.4或更低版本,您的图标可能会略有不同):便携式Wi-Fi热点处于活动状态 USB绑定有效的连接有效的多个网络共享或热点连接
要停止共享数据连接,请取消选中该框或关闭“设置”菜单中“ USB网络共享”旁边的开关,或直接断开USB电缆的连接。
USB与Windows XP绑定

如果您使用的是运行Windows XP的计算机,则需要在将设备绑定到计算机之前安装配置文件。

1.按照上述步骤打开设备的USB共享网络。
2.将以下配置文件(tetherxp.inf)下载到Windows XP计算机。通常,您可以右键单击链接并选择“另存为”。 (如果您的浏览器在文件名中添加了“ .html”,则需要编辑名称以删除.html扩展名,然后将其替换为“ .inf”。)
3.将移动设备连接至使用USB电缆连接计算机。
4.当Windows XP的“新硬件向导”打开时,选择“否”(此时不选择),然后单击“下一步”。
5.从列表或特定位置选择“安装”,然后单击“下一步”。
6.单击“浏览”浏览到安装步骤2中下载的配置文件的目录,然后单击“下一步”。
7. Windows XP完成用于Android USB以太网/ RNDIS的软件安装后,单击“完成”。
(源)



方法#1

此方法使用USB网络共享和一个应用程序访问手机存储。

过程:


从Play商店安装MTP替代USB驱动器。
打开MTP替代应用,选择“连接并启用USB TETHERING”,然后选择“启用USB”绑定。
通过单击返回键一次或从启动器中的图标打开应用程序,返回到应用程序。
Windows和Ubuntu的说明现在将显示在应用程序中。选择您的操作系统:Windows或Ubuntu,然后按照其中的指南进行操作。
或者,您可以按照以下说明在Windows或Ubuntu(Linux)中保存网络连接。

对于Windows :



请确保您具有管理特权。下载并安装此Microsoft Update。
需要启用WebClient服务才能访问网络文件夹。要确定服务状态,请按 + R打开“运行”对话框。键入services.msc,然后单击确定。 “服务”窗口将打开,其中包含服务列表。

向下滚动以查看WebClient并检查相应的启动类型。如果未禁用,则关闭窗口。如果是,那么

Right-Click -> Properties -> General -> Startup Type -> Automatic -> Apply -> OK。您还可以选择“手动”而不是“自动”来免于启动时的税金。

现在按 + R,键入regedit,然后单击“确定”,选择“是”,注册表编辑器窗口将打开。

在工具栏上单击Edit -> Find。在对话框中,与“查找内容”字段相对应,键入WebClient。取消选中“值和数据”,否则,仅选中“查看”下面的“键”。单击查找下一个。它将搜索并显示已选择的条目。确保(在底部面板上)所选条目的位置是

Computer/HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\WebClient

在WebClient条目上,单击向右箭头以访问其中的内容。
单击参数。在右侧,单击BasicAuthLevel -> Modify。在“数值数据”字段中,将值更改为2,然后单击“确定”。
如果没有BasicAuthLevel条目,则通过在空白区域单击鼠标右键来创建它,选择DWORD (32-bit) Value并将其命名为BasicAuthLevel。请执行步骤7。
立即重新启动系统,以使所有更改生效。您现在必须打开MTP-Alternative应用程序才能再次将手机连接到PC。
要映射手机存储,请打开“我的电脑”。
在地址栏下方,单击“映射网络驱动器”。
在相应的“文件夹”字段中,键入\192.168.42.129@8081,然后单击“完成”。将打开一个窗口,显示手机的/目录的内容。
如果智能手机中只有内部[SD卡],请输入sdcard文件夹。否则,请输入storage文件夹并进入所需的存储。
您可以在My Computer -> Network Location中访问此网络驱动器。您也可以通过在驱动器上进行Right-Click -> Rename重命名该驱动器,输入名称并按Enter。请注意,如果未将具有上述说明的智能手机连接到PC,则无法访问驱动器。

(来源:ykasidit,Yeehawup,MTP-Alternative)


对于具有KDE 4.1x的Ubuntu(Linux):


启动Dolphin文件浏览器。在“位置”中,单击“网络”。
单击Add Network Folder -> WebFolder (webdav)
输入任何名称,将“用户”字段保留为空白,在“服务器”字段中输入192.168.42.129,在“端口”字段中输入8081。按照Windows操作系统的步骤13,在“位置”字段中键入/sdcard//storage/,选中此远程文件夹的“创建”和“图标”,然后单击“保存并连接”。现在将打开一个窗口,其中包含存储内容。
网络位置保存在Places -> Network -> Name中,其中名称来自第3步。您也可以通过在该文件夹Right-click -> Add to Places上进行操作将该文件夹固定到Places中。


方法2

此方法利用ADB接口访问您的电话存储。它已经被许多用户广泛涵盖,并且可以在此处找到一些答案。简而言之,以下是Android发烧友用户提供的一些答案中的说明。

在您的OS中安装ADB


实际上,它不是如果不想将其用于开发,则必须安装整个SDK。为了能够在普通用户所需的上下文中运行基本ADB命令,基本安装就足够了。我将尝试说明如何执行此操作,并希望涵盖最常用的计算机系统。

要求

首先,您需要基本的二进制文件。这些文件可以在Linux,Windows和Mac的官方下载页面上找到。

Windows用户

如果您的计算机运行Windows,则还需要特殊的驱动程序适用于您的设备(此处没有通用解决方案,因此您需要自己检查一下;通常,这些驱动程序可在制造商的网站上下载)。

Linux和Mac OS用户

Linux和Mac OS用户可能需要使其操作系统知道其设备。对于Linux,您可以在此处的答案中找到所需的步骤。



安装

Linux

对于Linux,这很容易:只需解压缩即可将下载的二进制文件下载到您选择的目录中。在撰写本文时,它只有两个文件:adbaapt(后者由QtADB使用,不一定需要直接执行ADB命令)。调整其文件权限以使其可执行(例如,从命令行:chmod 0755 adb aapt)。最后,将所选目录包含在$PATH变量中是一个好主意,因此无论您身在何处都可以调用adb。在~/.profile文件的末尾添加一个类似export PATH="~/bin:$PATH"之类的行(如果您将二进制文件提取到~/bin即可)是个不错的选择。

Windows

Windows下载拥有几个文件。还将它们解压缩到您选择的目录中。如果您希望它们在任何地方都可以被调用,而无需在完整路径之前添加,则还需要将该路径添加到环境变量中。不是Windows用户,我必须将“操作方法”留给您。

还有什么?

此时您应该完成操作,并且可以使用ADB命令行的全部功能。

进一步阅读



关于ADB的所有内容(XDA开发人员的参考资料)

ADB for Dummies(可通过XDA Developers再次获得。如果您像我第一次错过这些指南:第一篇文章仅包含链接,看起来可能很漂亮:))
Android ADB快速指南

(源)


而且,


我真不明白,为什么有人会更喜欢从一个充满恶意软件的网站下载未知来源的旧版本,而不是直接从Google本身下载最新的正式版本。我猜对了。

以下是指向Google存储库的链接:

最新版本的平台工具(仅包含几个二进制文件-小于10Mb)每个大小):


Windows
Linux
Mac

对于Ubuntu和Debian(我个人使用的发行版)的用户一个小的bash脚本一起查找并安装最新版本的平台工具-在Ubuntu上安装Android平台工具(ADB)

(源代码)


使用ADB界面访问Ubuntu(Linux)中的电话存储:


我无法回答Windows部分–但是我可以肯定地回答Ubuntu部分,因为我也正在使用它,并且从计算机上安装设备,有时具有完全的r / w访问权限。我使用的工具需要在计算机上安装ADB工具。如果您尚未安装它们,请参见例如

准备Droid

首先是一个基本要求,适用于可能在您的计算机上运行的任何操作系统:为了能够完全访问,则ADB守护程序需要以root模式运行。默认情况下,即使使用根ROM也不是这种情况(尽管许多自定义ROM默认情况下已启用它)。因此,首先检查一下:如果“普通” adb shell直接将您带到根目录提示(#),而无需调用su,则可以。否则,您将需要adbd insecure之类的帮助程序:运行它,并启用“补丁不安全模式”。 (可选)选中该复选框以在设备每次启动时自动完成该操作。

准备对只读文件系统进行写访问

其次,再次独立于计算机上的OS:要读写文件系统,它们必须以读/写模式安装。您可以随时通过adb shell完成此操作(例如,我不建议将这些分区保留为永久读/写模式)。为mount -o remount,rw /system分区发布一个/system

安装Droid

现在让我们开始详细说明。我使用FUSE通过ADB挂载了Android文件系统。该工具是adbfs-rootless。根据此处的说明,编译代码很容易。完成后,将生成的adbfs二进制文件复制到$PATH中的目录中。然后在计算机上创建一个挂载点;在我的示例中,我将为此使用~/droid。现在开始:


# Mount the Android FS:
adbfs ~/droid
# Unmount it again:
fusermount -u ~/droid



为了简化此过程,我创建了两个别名:


alias mdroid="adbfs ~/droid"
alias udroid="fusermount -u ~/droid"



您肯定已经猜到了:mdroid代表“ mount droid”,udroid代表“ unmount droid”。

另一种方法手动安装/卸载是将Midnight Commander与特定的VFS配合使用:mc-extfs-adb正在执行此操作。在IzzyOnDroid的下载区域中,可以找到我专门为Ubuntu改编的版本,您可以在其中轻松选择它(包括安装说明)。

两种变体各有利弊:mc-extfs- adb第一次访问会花很长时间(虽然它会缓存整个文件系统的结构)–但是浏览文件系统(因为它已缓存)的速度非常快,只有在远程复制/编辑文件时才会变慢。直接使用adbfs的启动速度要快得多,但是切换目录时总是“犹豫”一秒钟(因为它不缓存整个结构,而仅按需读取)。我通常更喜欢后者,但是使用YMMV –因此,我给了您两个选择:)

(源代码)


使用ADB在Windows中访问电话存储界面


默认情况下,Windows文件资源管理器不允许您访问Android根文件。为此,您需要下载其他应用程序(到您的PC)。许多地方(例如这座guidetech.com教程推荐Android Commander。另一个推荐的文件资源管理器程序是Droid Explorer。

(源代码)



方法#3

此方法使用应用程序和USB绑定。此方法源于此答案(此答案仅提及了可能性,但没有逐步介绍其实际用法)。

过程:


下载允许创建WebDav / FTP / SSH / Samba服务器的文件服务器应用程序。您可以在此处通过Izzy查找此列表,也可以选择它们,即WebDav, FTP,Samba,SSH,Multifarious。如果没有帮助,Google就是您的朋友。
以下说明适用于{WebDav,FTP} Ultimate(免费)和Servers Ultimate Pro(付费)。

使用WebDav Server Ultimate:


启用USB绑定。
启动WebDav Server Ultimate。
转到Add -> WebDAV Server ->
在“服务器名称”中输入任何名称。选择一个大于1024的端口号,您可以记住该端口号(例如5000)并输入在“在端口上运行”中。
在文档根目录中,选择/以与方法#1保持一致。
取消选中所有选项。您可以选择在每次启动此应用程序时自动运行该服务器。为此,请选中“应用程序启动干净时直接启动”。点击一次“返回”键,然后选择“是”以保存服务器设置。
在新创建的服务器条目上点击一次,然后选择“启动/停止”。您将看到一个包含信息的对话框服务器已启动。您可以通过向左滑动应用顶部的许多图标并选择退出来关闭该应用(包括服务器)。请注意,除非选择退出,否则服务器将继续运行,除非明确停止。
现在,您可以针对Windows或Linux使用方法1中说明的过程。请注意,对于Windows,该地址现在为\192.168.42.129@5000;对于Linux,该地址现在为webdav://192.168.42.129:5000/

使用FTP Server Ultimate:


启用USB绑定。
启动FTP Server Ultimate应用。
转到Add -> FTP Server ->
在“服务器名称”中输入任何名称。选择一个您可以记住的大于1024的端口号(例如6000),然后将其输入“在端口上运行”。
取消选中所有选项。您可以选择在每次启动此应用程序时自动运行该服务器。为此,请选中“应用程序启动干净时直接启动”。同样,选择Respawn(服务器崩溃时自动重启)。
转到“用户”(位于顶部的“设置”旁),点击“添加”,将“用户名”和“密码”留空,然后选中“自动写访问权限”。您可以通过选择“强制停留在文档根目录”来选择限制PC。
在文档根目录中,选择/使其与方法#1保持一致。
单击“上一步”键,然后选择“是”以保存服务器设置。
在新创建的服务器条目上单击一次,然后选择“开始/停止”。 。您将看到一个包含信息的对话框服务器已启动。您可以通过向左滑动应用顶部的许多图标并选择退出来关闭该应用(包括服务器)。请注意,除非选择退出,否则服务器将继续运行,除非明确停止。
您现在可以使用Linux中说明的过程。请注意,对于Windows,该地址现在为ftp://192.168.42.129:6000,对于Linux,该地址为ftp://192.168.42.129:6000/。要在Windows中映射ftp,请按照步骤13中的以下说明进行操作。

使用服务器Ultimate Pro:
请注意,此应用需要安装某些其他软件包(免费)。


启用USB绑定。
启动Servers Ultimate Pro应用程序。
转到服务器。点击+图标,然后向下滚动以点击FTP Native Server。
输入名称,选择一个大于1024的端口号(例如2121)。
在“侦听网络接口”下,选择rndis0 -Ipv4(192.168.42.129)。
检查应用程序启动时直接启动。
在“ LOCKS”中,选中“启用WIFI锁定”。
应用程序,请转到SPECIFIC,然后取消选中“允许上传”以外的所有内容。
在“文档根目录”中,选择/使其与方法#1保持一致。
触摸软盘图标以保存设置。
点击服务器条目一次,然后选择“启动”。
您现在可以使用Linux的方法1中说明的过程。请注意,对于Linux,网络位置为ftp://192.168.42.129:2121/
对于Windows,请按照方法1中的步骤1-11操作。对于Windows。
单击“连接到可用来存储文档和图片的网站”。 。
将显示一个标题为“添加网络位置”的新窗口。单击Next -> Choose a custom network location -> Next
在“ Internet或网络地址”下,键入ftp://192.168.42.129:2121/sdcard/,然后单击“下一步”。您可以用存储替换sdcard。
选中“匿名登录”,然后单击“下一步”。键入一个名称以供将来识别,然后单击“下一步”。
当我单击“完成”并单击“完成”时,选中“打开此网络位置”。将显示一个带有手机存储内容的新窗口。
方法#1的步骤14也将在此处应用。

请注意,对于Servers Ultimate Pro中的WebDav服务器,设置类似于一个在方法3的上述过程中进行了介绍。


关于MTP替代品


使用PC进行USB文件传输-不会出现“ MTP”问题。

不再USB“找不到MTP驱动程序”或“找不到我的文件”问题-支持Windows和Ubuntu GNU / Linux!

“ MTP-Alternative”将此设备的存储作为“驱动器”共享通过USB共享网络而不是默认的Android“ MTP”文件传输方法的计算机,可以避免3个常见的“ MTP”问题。


关于WebDav Server Ultimate

>
免费,安全和完整的WebDAV服务器!该应用程序支持添加多个用户,具有基于SSL / TLS(HTTPS)的WebDAV,并且可以设置为在您的设备连接到特定的WIFI网络时自动启动WebDAV服务器!


关于FTP Server Ultimate


免费,安全且完整的FTP Server,用于使用FTP客户端传输文件。该应用程序支持添加多个用户,具有FTPS隐式/ SFTP / SCP支持,并且可以设置为在您的设备连接到特定的WIFI网络时自动启动FTP服务器!


关于服务器Ultimate Pro


★★运行60多个服务器并具有70多个协议!★★

现在您可以运行CVS,DC集线器,DHCP,UPnP,DNS ,DDNS,eDonkey,电子邮件(POP3 / SMTP),FTP代理,FTP,FTPS,FTPES,闪存策略,Git,Gopher,HTTP Snoop,ICAP,IRC Bot,IRC,ISCSI,Icecast,LPD,负载均衡器,MQTT,Memcached ,MongoDB,MySQL,NFS,NTP,NZB客户端,Napster,PHP,Lighttpd,PXE,端口转发器,RTMP,远程控制,Rsync,SIP,SMB / CIFS,SMPP,SMS,Socks,SFTP,SSH,服务器监视器,Styx ,系统日志,TFTP,Telnet,时间,洪流客户端,洪流跟踪器,触发器,Unison,UPnP端口映射器,VNC,VPN,局域网唤醒,Web,WebDAV,WebSocket,X11和/或XMPP服务器!



注意:


WebDAV最多可将文件大小限制为4 GB。
已启用通过WebDav进行文件传输MTP-Alternative的响应速度不太快,因此在Android中为我创建了800 MB的缓存。

2。在Linux上没有出现此问题,并且工作正常。
我更喜欢带有FTP Native Server的Servers Ultimate Pro。对我来说,它在Windows和Linux上都可以完美运行。
我只使用方法2的adb push|pull命令进行数据传输。提到它是为了代替其他常见选项。
如果您是root用户,则可以在Servers Ultimate Pro中进行向前移植。
可能有一些我尚不了解的方法。请发布它们作为答案。


评论


所有这些都是方法!简单的快速文件传输需要太多工作,这是2018年!

– Shinzou
18年6月9日在19:25

@shinzou很抱歉给您带来不便。非常欢迎您向Google,Microsoft和所有其他愚蠢的IT公司表示遗憾,这些公司仍然迫使我们使用可靠的MTP协议或替代上述解决方案。如果您可以提供一种更简单的方法,并且可以提供一些有价值的答案,而不仅仅是批评别人,那么也欢迎您编写自己的答案。

– Trejder
19 Mar 15 '19在8:46

#2 楼

当然可以。只是舒适度会有所不同,具体取决于您所使用的操作系统。

我通常为此使用adb。在Linux上,您甚至可以这种方式挂载设备。如果您愿意,也可以使用多个adb GUI,例如跨平台QtADB。或使用命令行:



# Copy a file to the Android device
adb push some.file.ext /mnt/sdcard/some.file.ext
# Grab one from the Android device
adb pull /mnt/sdcard/some.file.ext some.file.ext
# similar for an entire directory
adb pull /mnt/sdcard /local/folder


请注意两端的类型相对应:两者都是文件名(如在前两个示例中),或两者都是目录(第三个示例)。混合将失败。

为了方便地导航(例如ls),请使用adb shell

如果您的计算机上尚未安装ADB,请参阅: ADB的安装最少吗?

评论


这很有趣-谢谢!我要去玩,如果可以的话,我会再给我一个报价!

– fostandy
2014年12月24日0:50



甚至有些文件管理器为此提供了一些GUI。您可能希望查看我的ADB应用列表,以了解详细信息;在页面末尾找到这些计算机程序。

– Izzy♦
2014年12月24日在9:55

当然可以推或拉一个文件,但是如果我只想备份内部存储该怎么办:/

–沙燕
19年1月5日在23:05

@Shayan如果您的意思是“内部SD卡”:答案中的最后一条命令就是这样做的。如果您的意思是应用程序存储数据(/ data / *)的位置,则设备必须植根并且ADB守护程序以不安全模式运行才能拉取数据。

– Izzy♦
19年1月6日在9:05

#3 楼

是的,您可以尝试在Google Play中搜索“ mtp替代项”或访问以下页面:
https://play.google.com/store/apps/details?id=com.clearevo.mtp_alternative

它需要启用USB网络共享,然后就很简单。

我自己的朋友和我自己面对很多“找不到MTP驱动程序”和“文件未显示”的问题后,我决定制作一个名为“ MTP-Alternative”的应用来解决此问题。

通常我也使用adb来传输“技术数据”文件-效果很好。但是,当我使用adb将媒体照片,音乐或视频之类的媒体文件从PC发送到Android时-例如/ sdcard / Pictures /或/ sdcard / Music /-Android Gallery and Music应用不会显示它们,并且会在重新启动之前(Nexus 5和Galaxy Note 8)都不会更新。使用“ MTP替代”,“图库和音乐”应用程序将立即更新新添加的文件,而无需重新启动。另外,如果在手机上创建了新的媒体或数据文件,只需按一下PC文件夹上的“ F5”即可刷新以显示它们。

评论


我已成功使用此应用程序从运行5.1.1的OPO手机向Windows 8.1 x64 PC传输了26GB。但是,它使用WebDAV,并将每个文件限制为50MB(否则,将创建错误“ 0x800700DF:文件大小超出允许的限制”)。要增加限制,请按照此处的说明进行操作:support.microsoft.com/en-us/kb/900900

– ikjadoon
16年1月8日在18:02



#4 楼

我正在Ubuntu 16.04下使用adb

它比MTP快得多(没有计时,但我会说大约15倍)。

要安装它,您几乎可以按照在线上提供的说明进行操作

https://www.howtogeek.com/125769/how-to-install-and-use-abd-the-android-debug-bridge-utility /

https://www.xda-developers.com/install-adb-windows-macos-linux/