¿Existe una alternativa viable a MTP para la transferencia de archivos?

Dado que las últimas versiones (¿ICS+?) ya no tienen almacenamiento masivo, ¿existe alguna alternativa viable a MTP?

El protocolo parece intrínsecamente roto y la decisión de regresar a este formato parece un movimiento muy 'iphone-esque' (hacer las cosas tontas, quitarles el poder a los usuarios).

Parece que hay numerosos problemas (p. ej.) con los archivos que no se muestran y me parece que transferir un archivo debería ser más simple que requerir un reinicio del sistema; exijo irrazonablemente de esa manera.

Conozco herramientas como la transferencia de archivos Wi-Fi, pero a menudo me encuentro en áreas sin wifi, solo con mi computadora portátil, teléfono y un cable USB. El otro día, por ejemplo, estaba en un avión, que es un entorno decididamente no propicio para usar un sistema inalámbrico.

Utilice uno de esos métodos: askubuntu.com/questions/189591/… SSH SFTP funciona.

Respuestas (6)

Los siguientes métodos se prueban en Windows 7; Distribución basada en Ubuntu y Slackware con entorno de escritorio KDE 4.1x. No se puede decir nada sobre Mac. La respuesta pretende servir como una guía consolidada para los diversos métodos que existen.

Algunos de los siguientes métodos requieren que la conexión USB esté habilitada. Esto se puede lograr mediante las instrucciones que se mencionan a continuación:

Parte de esta información se aplica solo a dispositivos que ejecutan Android 5.0 y superior. Si su dispositivo ejecuta 4.4 o inferior, el ícono de Menú se ve así . Si su dispositivo ejecuta 4.3 o inferior, el ícono de Configuración se ve así .

Configurar y usar la conexión compartida USB (incluidas las instrucciones para Windows XP)

1. Conecte su dispositivo a otro dispositivo mediante un cable USB.
2. Verá un icono de USB y una notificación Conectado como dispositivo multimedia o Conectado como cámara en la parte superior de la pantalla. A los efectos de la conexión, el tipo de conexión no importa. 3. Abra el menú de configuración
de su dispositivo . 4. En "Conexiones inalámbricas y redes", toque
Más > Anclaje a red y punto de acceso portátil .
5 Marque la casilla o encienda el interruptor junto a "Anclaje a red USB". Cuando se establezca la conexión, verá una de las siguientes notificaciones y podrá conectarse a Internet (sus íconos pueden tener un aspecto levemente diferente si su dispositivo ejecuta Andriod 4.4 o anterior): Punto
de acceso Wi-Fi portátil activo
Conexión compartida USB activa
Múltiples conexiones compartidas o hotspot activas

Para dejar de compartir su conexión de datos, desmarque la casilla o apague el interruptor junto a "Conexión USB" en el menú Configuración o simplemente desconecte el cable USB.

Anclaje de USB con Windows XP

Si está utilizando una computadora con Windows XP,

1. Siga los pasos anteriores para activar el anclaje USB para su dispositivo.
2. Descargue el siguiente archivo de configuración ( tetherxp.inf ) a su computadora con Windows XP. Por lo general, puede hacer clic derecho en el enlace y elegir "Guardar como". (Si su navegador agrega “.html” al nombre del archivo, deberá editar el nombre para eliminar la extensión .html y reemplazarla con “.inf” en su lugar).
3. Conecte su dispositivo móvil a su computadora usando un Cable USB.
4. Cuando se abra el Asistente para hardware nuevo de Windows XP, seleccione No, no en este momento , luego haga clic en Siguiente .
5. Seleccione Instalar desde una lista o ubicación específica, luego haga clic en Siguiente .
6. Haga clic en Examinarpara buscar el directorio donde instaló el archivo de configuración que descargó en el paso 2, luego haga clic en Siguiente .
7. Cuando Windows XP termine de instalar el software para Android USB Ethernet/RNDIS, haga clic en Finalizar .

( Fuente )


Método 1

Este método utiliza USB Tethering y una aplicación para acceder al almacenamiento del teléfono.

Procedimiento :

  1. Instale la unidad USB alternativa a MTP desde Play Store.
  2. Abra la aplicación MTP-Alternative, seleccione CONECTAR Y HABILITAR ANCLAJE USB y elija Habilitar Anclaje USB .
  3. Regrese a la aplicación tocando Backla tecla una vez o abriendo la aplicación desde su ícono en su lanzador.
  4. Las instrucciones para Windows y Ubuntu ahora se mostrarán en la aplicación. Elija su sistema operativo: Windows o Ubuntu y siga la guía allí. Alternativamente, puede seguir las instrucciones que se mencionan a continuación para guardar la conexión de red en Windows o Ubuntu (Linux).

Para ventanas :

  1. Asegúrese de tener privilegios administrativos. Descargue e instale esta actualización de Microsoft .
  2. El servicio WebClient debe estar habilitado para acceder a la carpeta de red. Para determinar el estado del servicio, presione + Rpara abrir un cuadro de diálogo Ejecutar. Escriba services.mscy haga clic en Aceptar . Se abrirá la ventana de servicios con una lista de servicios.
  3. Desplácese hacia abajo para ver WebClient y verifique el tipo de inicio correspondiente . Si no está deshabilitado , cierre la ventana. Si es así, hazlo

    Right-Click -> Properties -> General -> Startup Type -> Automatic -> Apply -> OK. También puede elegir Manual en lugar de Automático para evitar que el sistema se sobrecargue.

  4. Ahora presione + R, escriba regedity haga clic en Aceptar `, elija y se abrirá la ventana del Editor del Registro .

  5. En la barra de herramientas, haga clic en Edit -> Find. En el cuadro de diálogo, correspondiente al campo Buscar , escriba WebClient. Desmarque Valores y Datos o, de lo contrario, marque solo las Claves debajo de Mirar . Haga clic en Buscar siguiente . Buscará y debería mostrar una entrada ya seleccionada. Asegúrese (en el panel inferior) de que la ubicación de la entrada seleccionada sea

    Computer/HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\WebClient.

  6. En la entrada WebClient , haga clic en la flecha de dirección derecha para acceder al contenido que contiene.

  7. Haga clic en Parámetros . En el lado derecho, haga clic en BasicAuthLevel -> Modify. En el campo Información del valor, cambie el valor a 2y haga clic en Aceptar .
  8. Si no hubo una entrada BasicAuthLevel , créela haciendo clic con el botón derecho en un espacio en blanco vacío, selecciónela DWORD (32-bit) Valuey asígnele el nombre BasicAuthLevel. Siga el paso 7.
  9. Reinicie el sistema ahora para que todos los cambios surtan efecto. Deberá abrir la aplicación MTP-Alternative para conectar el teléfono nuevamente a la PC ahora.
  10. Para asignar el almacenamiento del teléfono, abra Mi PC .
  11. Debajo de la barra de direcciones, haga clic en Asignar unidad de red .
  12. En el campo Carpeta correspondiente , escriba \\192.168.42.129@8081y haga clic en Finalizar . Se abrirá una ventana con el contenido del /directorio de su teléfono.
  13. Si solo tiene [tarjeta SD] interna en el teléfono inteligente, ingrese la sdcardcarpeta. De lo contrario, ingrese storagea la carpeta e ingrese a su almacenamiento deseado.
  14. Puede acceder a esta unidad de red en formato My Computer -> Network Location. También puede cambiar el nombre de esta unidad haciendo Right-Click -> Renamesobre la unidad, ingrese el nombre y presione Enter. Tenga en cuenta que no se podrá acceder a la unidad si el teléfono inteligente con las instrucciones mencionadas anteriormente no está conectado a la PC.

(Fuente: ykasidit , Yeehawup , MTP-Alternative )

Para Ubuntu (Linux) con KDE 4.1x :

  1. Inicie el navegador de archivos Dolphin . En Lugares , haga clic en Red .
  2. Haga clic en Add Network Folder -> WebFolder (webdav).
  3. Ingrese cualquier Nombre , deje el campo Usuario en blanco, ingrese 192.168.42.129en el campo Servidor , ingrese 8081en el campo Puerto . Según el paso 13 del sistema operativo Windows, escriba /sdcard/o /storage/en el campo Ubicación , marque Crear un icono para esta carpeta remota y haga clic en Guardar y conectar . Ahora se abrirá una ventana con el contenido de almacenamiento.
  4. La ubicación de la red se guarda Places -> Network -> Namedonde se encuentra el Nombre del paso 3. También puede anclar esta carpeta a Lugares haciendo sobre esa carpeta Right-click -> Add to Places.

Método #2

Este método utiliza la interfaz ADB para acceder al almacenamiento de su teléfono. Muchos usuarios ya lo han cubierto ampliamente y se puede acceder a algunas respuestas aquí . Para abreviar, a continuación se encuentran las instrucciones citadas de algunas respuestas de usuarios entusiastas de Android.

Instalación de ADB en su sistema operativo

De hecho, no es necesario instalar todo el SDK si no se quiere utilizar para el desarrollo. Para poder ejecutar comandos ADB básicos en el contexto que necesita un usuario promedio, una instalación rudimentaria es completamente suficiente. Trataré de explicar cómo hacer esto y, con suerte, cubriré los sistemas informáticos más utilizados.

Requisitos

Primero, necesitará los binarios básicos. Estos se pueden encontrar en la página de descarga oficial, para Linux, Windows y Mac.

Usuarios de Windows

Si su computadora ejecuta Windows, también necesitará los controladores especiales para su dispositivo (aquí no hay una solución genérica, por lo que debe verificar esto usted mismo; por lo general, esos controladores se ofrecen para descargar en el sitio web del fabricante).

Usuarios de Linux y Mac OS

Es posible que los usuarios de Linux y Mac OS necesiten que su dispositivo sea conocido por su sistema operativo. Para Linux, encontrará los pasos necesarios descritos en mi respuesta aquí . Al no estar familiarizado con Mac OS, no puedo hablar por ello.

Instalación

linux

Para Linux, esto es bastante fácil: simplemente descomprima los archivos binarios descargados en un directorio de su elección. En el momento en que escribo esto, solo serán dos archivos: adby aapt(este último lo usa QtADB y no necesariamente se necesita para ejecutar comandos ADB directamente). Ajuste sus permisos de archivo para hacerlos ejecutables (por ejemplo, desde la línea de comando: chmod 0755 adb aapt). Finalmente, es una buena idea incluir el directorio elegido con tu $PATHvariable, para que puedas llamar adbdesde donde estés. Un buen lugar para eso es al final de su ~/.profilearchivo para incluir una línea adicional como export PATH="~/bin:$PATH"(si extrajo los archivos binarios a ~/bin).

ventanas

La descarga de Windows contiene un par de archivos más. También extráigalos en un directorio de su elección. Si desea que se puedan llamar desde donde se encuentre, sin preceder la ruta completa, también debe agregar esa ruta a sus variables de entorno. Al no ser un usuario de Windows, debo dejarle el "cómo hacer esto".

¿Qué más?

Debería haber terminado en este punto y puede usar todos los poderes de la línea de comando ADB.

Lecturas adicionales

  • Todo sobre ADB ( Una referencia para todos en XDA Developers)
  • ADB for Dummies (nuevamente disponible a través de XDA Developers. Si te pierdes las guías como lo hice yo primero: el primer artículo consiste solo en enlaces, por coloridos que parezcan :))
  • Guía rápida de Android ADB

( Fuente )

Y,

Realmente no entiendo por qué alguien preferiría descargar una versión antigua de origen desconocido de un sitio web plagado de malware a descargar la última versión oficial directamente desde Google. Supongo que a cada uno lo suyo.

Aquí están los enlaces al repositorio de Google:

La última versión de las herramientas de la plataforma (contiene solo algunos archivos binarios, de menos de 10 Mb de tamaño cada uno):

Para los usuarios de Ubuntu y Debian (distribuciones que uso personalmente), he creado un pequeño script bash que encuentra e instala la última versión de las herramientas de la plataforma - Instalación de las herramientas de la plataforma Android (ADB) en Ubuntu

( Fuente )

Para acceder al almacenamiento del teléfono en Ubuntu (Linux) usando la interfaz ADB :

No puedo responder la parte de Windows, pero puedo responder la parte de Ubuntu con seguridad, ya que también la estoy usando y monto mis dispositivos desde mi computadora, a veces con acceso completo de r/w. Lo que uso necesita que las herramientas ADB estén instaladas en su computadora. Si aún no los instaló, consulte, por ejemplo, ¿Existe una instalación mínima de ADB?

Prepara tu droide

Primero, un requisito básico, que se aplica a cualquier sistema operativo que pueda ejecutarse en su computadora: para poder obtener acceso completo, el demonio ADB debe ejecutarse en modo raíz. Este no es el caso con las ROM estándar, incluso si están rooteadas, de forma predeterminada (aunque muchas ROM personalizadas lo tienen habilitado de forma predeterminada). Entonces, primero verifique: si un "ordinario" adb shelllo lleva directamente al indicador raíz ( #) sin invocar su, está bien. De lo contrario, necesitará un asistente como adbd insecure : ejecútelo y habilite el "modo inseguro parcheado". Opcionalmente, marque la casilla para que eso se realice automáticamente en cada arranque de su dispositivo.

Prepárese para el acceso de escritura a sistemas de archivos de solo lectura

En segundo lugar, nuevamente independiente del sistema operativo de su computadora: para leer y escribir en los sistemas de archivos, deben montarse en modo de lectura/escritura. Puede lograrlo en adb shellcualquier momento que necesite escribir allí (no recomiendo dejar esas particiones en modo de lectura/escritura permanente), por ejemplo, emitiendo una mount -o remount,rw /systempara la /systempartición.

Monta tu droide

Ahora vamos a los detalles. Monto el sistema de archivos de Android a través de ADB, utilizando FUSE . La herramienta para eso es adbfs-rootless . Compilar el código es fácil dadas las instrucciones allí; hecho esto, copie el binario resultante adbfsa un directorio en su archivo $PATH. Luego cree un punto de montaje en su computadora; en mi ejemplo, lo usaré ~/droidpara eso. Ahora aquí vamos:

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

Para facilitar el proceso, he creado dos alias:

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

Seguramente ya lo habrás adivinado: mdroidsignifica "mount droid", udroidpor "unmount droid".

Un enfoque diferente para montar/desmontar manualmente es usar Midnight Commander con un VFS específico: mc-extfs-adb está haciendo eso. Una versión que he adaptado específicamente para Ubuntu está disponible en el área de descargas de IzzyOnDroid , donde simplemente puede seleccionarla (instrucciones de instalación incluidas).

Ambas variantes tienen sus pros y sus contras: mc-extfs-adb toma bastante tiempo en el primer acceso (mientras almacena en caché toda la estructura del sistema de archivos), pero luego es bastante rápido para navegar por el sistema de archivos (como está en caché), solo se ralentiza. cuando copia/edita archivos de forma remota. El uso de adbfs directamente se inicia mucho más rápido, pero luego siempre "duda" por un segundo al cambiar de directorio (ya que no almacena en caché toda la estructura, sino que solo lee a pedido). Por lo general, prefiero lo último, pero YMMV, por lo tanto, les he dado ambas opciones :)

( Fuente )

Para acceder al almacenamiento del teléfono en Windows usando la interfaz ADB

El Explorador de archivos de Windows por defecto no le permite acceder a los archivos raíz de Android. Necesitarás descargar una aplicación diferente (a tu PC) para eso. Muchos lugares (como este tutorial de guidetech.com recomiendan Android Commander . Otro programa explorador de archivos recomendado es Droid Explorer .

( Fuente )


Método #3

Este método utiliza una aplicación y USB Tethering. Este método tiene sus raíces en esta respuesta (esta respuesta solo menciona las posibilidades pero no el uso real en pasos).

Procedimiento :

  1. Descargue una aplicación de servidor de archivos que permita la creación de servidores WebDav/FTP/SSH/Samba. Puede buscar en esta lista Izzy aquí o elegirlos, a saber , WebDav , FTP , Samba , SSH , Multifarious . Google es tu amigo si ninguno de ellos te ayuda.
  2. Las siguientes instrucciones son para { WebDav , FTP } Ultimate (Gratis) y Servers Ultimate Pro (Pagado).

Usando WebDav Server Ultimate :

  1. Habilite Anclaje a red USB .
  2. Inicie WebDav Server Ultimate .
  3. Ir Add -> WebDAV Server ->a
  4. Introduzca cualquier nombre en Nombre del servidor . Elija un número de puerto mayor que 1024 que pueda recordar (p. ej., 5000) e ingréselo en Ejecutar en puerto .
  5. En Raíz del documento , elija /mantener la coherencia con el Método n.º 1.
  6. Desmarque todas las opciones. Puede optar por ejecutar este servidor automáticamente cada vez que inicie esta aplicación. Para hacerlo, marque Iniciar directamente cuando la aplicación se inicia limpia . Toque Backla tecla una vez y elija para guardar la configuración del servidor.
  7. Toque una vez en la entrada del servidor recién creada y seleccione Iniciar/Detener . Obtendrá un cuadro de diálogo con Información El servidor se ha iniciado . Puede cerrar la aplicación (incluido el servidor) deslizando hacia la izquierda los numerosos íconos en la parte superior de la aplicación y seleccionando Salir . Tenga en cuenta que sin elegir Salir, el servidor continuará ejecutándose a menos que se detenga explícitamente.
  8. Ahora puede usar el procedimiento explicado en el Método n.º 1 para Windows o Linux. Tenga en cuenta que para Windows, la dirección ahora será \\192.168.42.129@5000y para Linux, será webdav://192.168.42.129:5000/.

Uso del servidor FTP Ultimate :

  1. Habilite Anclaje a red USB .
  2. Inicie la aplicación FTP Server Ultimate .
  3. Ir Add -> FTP Server ->a
  4. Introduzca cualquier nombre en Nombre del servidor . Elija un número de puerto mayor que 1024 que pueda recordar (p. ej., 6000) e ingréselo en Ejecutar en puerto .
  5. Desmarque todas las opciones. Puede optar por ejecutar este servidor automáticamente cada vez que inicie esta aplicación. Para hacerlo, marque Iniciar directamente cuando la aplicación se inicia limpia . Del mismo modo, elija Respawn (reinicio automático cuando el servidor falla) .
  6. Vaya a Usuarios (junto a Configuración en la parte superior), toque Agregar , deje Nombre de usuario y Contraseña en blanco y marque Acceso de escritura automática . Puede elegir restringir la PC eligiendo Forzar permanencia en la raíz del documento .
  7. En Raíz del documento , elija /mantener la coherencia con el Método n.º 1.
  8. Toque Backla tecla una vez y elija para guardar la configuración del servidor.
  9. Toque una vez en la entrada del servidor recién creada y seleccione Iniciar/Detener . Obtendrá un cuadro de diálogo con Información El servidor se ha iniciado . Puede cerrar la aplicación (incluido el servidor) deslizando hacia la izquierda los numerosos íconos en la parte superior de la aplicación y seleccionando Salir . Tenga en cuenta que sin elegir Salir, el servidor continuará ejecutándose a menos que se detenga explícitamente.
  10. Ahora puede usar el procedimiento explicado en para Linux. Tenga en cuenta que para Windows, la dirección ahora será ftp://192.168.42.129:6000y para Linux, será ftp://192.168.42.129:6000/. Para asignar ftp en Windows, siga las siguientes instrucciones del Paso 13.

Uso de Servers Ultimate Pro : tenga en cuenta que esta aplicación requiere la instalación de otros paquetes (gratuitos).

  1. Habilite Anclaje a red USB .
  2. Inicie la aplicación Servers Ultimate Pro .
  3. Vaya a Servidores . Toque +el ícono y desplácese hacia abajo para tocar FTP Native Server .
  4. Ingrese el nombre , elija un número de puerto mayor que 1024 que pueda recordar (por ejemplo, 2121).
  5. En ESCUCHAR EN LA INTERFAZ DE RED , elija rndis0 -Ipv4 (192.168.42.129) .
  6. Marque Iniciar directamente cuando se inicie la aplicación .
  7. En LOCKS , marque Enable WIFI lock .
  8. En el panel superior de la aplicación, ve a ESPECÍFICO y desmarca todo excepto Permitir carga .
  9. En Raíz del documento , elija /mantener la coherencia con el Método n.º 1.
  10. Toque el icono de disquete para guardar la configuración.
  11. Toque la entrada del servidor una vez y seleccione Iniciar .
  12. Ahora puede usar el procedimiento explicado en el Método #1 para Linux. Tenga en cuenta que para Linux, la ubicación de la red será ftp://192.168.42.129:2121/.
  13. Para Windows, siga los pasos 1 a 11 del Método n.º 1 para Windows .
  14. Haga clic en Conectarse a un sitio web que pueda usar para almacenar sus documentos e imágenes .
  15. Se mostrará una nueva ventana con el título Agregar ubicación de red . Haga clic en Next -> Choose a custom network location -> Next.
  16. En Internet o dirección de red , escriba ftp://192.168.42.129:2121/sdcard/y haga clic en Siguiente . Puede reemplazar sdcard con almacenamiento .
  17. Marque Iniciar sesión de forma anónima y haga clic en Siguiente . Escriba un nombre para reconocerlo en el futuro y haga clic en Siguiente .
  18. Marque Abrir esta ubicación de red cuando haga clic en Finalizar y haga clic en Finalizar . Aparecerá una nueva ventana con el contenido de almacenamiento de su teléfono.
  19. El paso 14 del método n.º 1 también se aplica aquí.

Tenga en cuenta que para el servidor WebDav en Servers Ultimate Pro, la configuración es similar a la cubierta en los procedimientos mencionados anteriormente en el Método #3.


Acerca de MTP-Alternativa

Transferencias de archivos USB con PC, sin problemas de 'MTP'.

No más problemas de USB 'MTP driver not found' o 'can't find my files' - ¡Soporta tanto Windows como Ubuntu GNU/Linux!

'MTP-Alternative' comparte el almacenamiento de este dispositivo como una 'unidad' a las computadoras a través de USB Tethering en lugar del método de transferencia de archivos 'MTP' predeterminado de Android y evita los 3 problemas comunes de 'MTP'.

Acerca de WebDav Server Ultimate

¡Un servidor WebDAV gratuito, seguro y completo! La aplicación admite la adición de múltiples usuarios, admite WebDAV sobre SSL/TLS (HTTPS) y se puede configurar para iniciar automáticamente un servidor WebDAV cuando su dispositivo está conectado a una red WIFI específica.

Acerca del servidor FTP Ultimate

Un servidor FTP gratuito, seguro y completo para transferir archivos usando un cliente FTP. La aplicación admite la adición de múltiples usuarios, tiene soporte FTPS implícito / SFTP / SCP y se puede configurar para iniciar automáticamente un servidor FTP cuando su dispositivo está conectado a una red WIFI específica.

Acerca de Servidores Ultimate Pro

★★¡Ejecuta más de 60 servidores con más de 70 protocolos!★★

Ahora puede ejecutar un CVS, DC Hub, DHCP, UPnP, DNS, DDNS, eDonkey, correo electrónico (POP3/SMTP), proxy FTP, FTP, FTPS, FTPES, Flash Policy, Git, Gopher, HTTP Snoop, ICAP, IRC Bot , IRC, ISCSI, Icecast, LPD, Equilibrador de carga, MQTT, Memcached, MongoDB, MySQL, NFS, NTP, Cliente NZB, Napster, PHP, Lighttpd, PXE, Port Forwarder, RTMP, Control remoto, Rsync, SIP, SMB/CIFS , SMPP, SMS, calcetines, SFTP, SSH, Server Monitor, Styx, Syslog, TFTP, Telnet, Time, Torrent Client, Torrent Tracker, Trigger, Unison, UPnP Port Mapper, VNC, VPN, Wake On Lan, Web, WebDAV, ¡Servidor WebSocket, X11 y/o XMPP!


Nota:

  1. WebDAV puede limitar el tamaño del archivo hasta 4 Gigabytes únicamente.
  2. La transferencia de archivos a través de WebDav habilitada por MTP-Alternative no respondía muy bien y creó un tamaño de caché de 800 MB para mí en Android.
  3. 2. El problema no surgió en Linux y funcionó sin problemas.
  4. Prefiero Servers Ultimate Pro con FTP Native Server. Funciona perfectamente tanto en Windows como en Linux para mí.
  5. Solo uso adb push|pullcomandos del Método n. ° 2 para la transferencia de datos. Se menciona por cubrir las opciones comunes como alternativa.
  6. Si está rooteado, puede reenviar el puerto en Servers Ultimate Pro.
  7. Podría haber métodos que desconozco todavía. Por favor publícalos como respuesta.
¡Todos estos son MUY MUY MUY! demasiado trabajo para una simple y rápida transferencia de archivos, ¡esto es 2018!
@shinzou Disculpas por tu incomodidad. Le invitamos a presentar su arrepentimiento a Google, Microsoft y todas las demás compañías de TI estúpidas que aún nos obligan a usar el protocolo MTP sh * ful o alternar a una solución como la anterior. Si puede encontrar una solución mucho más simple y puede proporcionar una respuesta valiosa, en lugar de solo criticar a los demás, también puede escribir su propia respuesta.

Seguro que lo hay. Solo la comodidad difiere, según el sistema operativo en el que se encuentre.

Principalmente uso para esto. En Linux, incluso puede montar el dispositivo de esta manera. También hay varias adbGUI si lo prefiere, como QtADB multiplataforma. O puede usar la línea de comando:

# 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

Solo tenga cuidado de que los tipos en ambos extremos correspondan: ambos son nombres de archivo (como en los dos primeros ejemplos), o ambos son directorios (tercer ejemplo). Las mezclas fallarán.

Para navegar (por ejemplo, ls) de una manera conveniente, use el adb shell.

Si aún no tiene ADB instalado en su computadora: consulte ¿Existe una instalación mínima de ADB?

Incluso hay algunos administradores de archivos que le ofrecen alguna GUI para eso. Es posible que desee echar un vistazo a mi lista de aplicaciones ADB para obtener más detalles; encuentre esos programas de computadora al final de la página.
Por empujar o tirar de un archivo seguro, pero ¿qué pasa si solo quiero hacer una copia de seguridad de mi almacenamiento interno? :/
@Shayan Si te refieres a la "tarjeta SD interna": el último comando en mi respuesta hace eso. Si se refiere al lugar donde las aplicaciones almacenan sus datos ( /data/*), su dispositivo debe estar enraizado y el demonio ADB debe ejecutarse en modo inseguro para extraerlo.

Sí, puede intentar buscar 'alternativa mtp' en Google Play o visitar su página a continuación: https://play.google.com/store/apps/details?id=com.clearevo.mtp_alternative

Requiere USB Tethering para estar habilitado, entonces es bastante simple.

Después de que mis amigos y yo nos enfrentáramos a algunos problemas de 'controlador MTP no encontrado' y 'archivo que no se muestra', decidí hacer que la aplicación se llamara 'MTP-Alternative' para resolver este problema.

Normalmente también uso adb para transferir archivos de 'datos técnicos'; funciona bien. Pero cuando uso adb para enviar archivos multimedia como fotos, música o videos desde la PC a Android, a /sdcard/Pictures/ o a /sdcard/Music/ por ejemplo, la aplicación Android Gallery and Music no los mostrará y ganó. No se actualiza hasta que se reinicia (tanto Nexus 5 como Galaxy Note 8). Usando 'MTP Alternativa', la aplicación Galería y Música actualizaría los archivos recién agregados al instante sin reiniciar. Además, si se crea un nuevo archivo multimedia o de datos en el teléfono, simplemente presionando 'F5' en la carpeta de la PC se actualizará para mostrarlos.

He usado esta aplicación con éxito para transferir 26 GB desde mi teléfono OPO con 5.1.1 a mi PC con Windows 8.1 x64. Sin embargo, usa WebDAV y eso limita cada archivo individual a 50 MB (de lo contrario, generará el error "0x800700DF: el tamaño del archivo excede el límite permitido"). Para aumentar el límite, siga las instrucciones aquí: support.microsoft.com/en-us/kb/900900

6 años después de hacer esta pregunta, encontrar alternativas a MTP por cualquier motivo (en mi caso está roto) aún puede ser una molestia. Me topé con esta pregunta y la primera y muy rica respuesta de @Firelord propone muchas soluciones interesantes que aún son viables hoy. Pero desafortunadamente, como mi caso de uso era muy particular: poder usar una solución independiente de red inalámbrica, rápida y segura, lo que implica casi obligatoriamente el uso de un cable USB para todos estos criterios, para administrar los archivos de mi dispositivo, nada de esto me ayudó: WebDAV no me permitía administrar archivos (renombrarlos, moverlos, eliminarlos), FTP no podía funcionar sin una red inalámbrica y no podía hacer que adbfs funcionara porque no podía configurar el estado adbd de manera eficiente y volver a montar el sistema de mi teléfono pararwgracias a Magisk (que ahora es la solución de rooteo para la mayoría de los teléfonos Android).

Afortunadamente después de muchas horas encontré una solución viable que cumplía con todo lo que estaba buscando, y es gracias a una mención muy pequeña en la primera publicación. Para la respuesta corta: use SFTP (SSH) y adb

Para la respuesta larga, así es como procedí a continuación. (Nota: en el momento de escribir esto, estaba buscando una solución para usar en mi instalación de GNU/Linux Ubuntu 20.04 que debería leer los archivos de un dispositivo con Android 8.1. Los usuarios de Windows tendrán que adaptar este método para su entorno, pero la lógica es lo mismo, y es posible que no tengan muchos problemas en estos días de todos modos)

  1. Instale una solución de servidor SSH en su teléfono. Puede ejecutar y configurar uno a través de Termux si se siente aventurero, pero quería algo que funcionara de inmediato sin tener que configurar mucho, así que instalé una aplicación llamada SimpleSSHD en su lugar.

  2. Configura tu solución. Para SimpleSSHD, simplemente entré en la opción Configuración - Rutas - Directorio de inicio y cambié el directorio de inicio a /storage/emulated/0. Funcionará cuando ejecute la aplicación solo si le otorgó permiso de acceso a Archivos, que se solicita en el primer lanzamiento de todos modos. Después de eso, inicie el servicio.

  3. (Opcional) Corte el acceso a la interfaz inalámbrica de la solución. No quería que nadie accediera a mi servidor SSH desde el exterior, así que entré en la configuración de la aplicación y no le permití acceder a Wi-Fi y datos móviles. Cambio de método dependiendo de su solución y medios de restricción obviamente

  4. Vincule el servidor del dispositivo a su máquina mediante el reenvío de puertos. La configuración predeterminada de la aplicación usaba 2222 como puerto, y como el puerto 2222 de mi máquina no estaba en uso, no lo pensé demasiado y usé lo mismo. Entonces hice el reenvío usando este adbcomando:adb forward tcp:2222 tcp:2222

  5. ¡Casi termino! Ahora tiene que abrir su software de administración de archivos favorito (remoto) y conectarse al uso compartido de archivos SFTP de su servidor SSH. Usé Nemo para eso y simplemente escribí en la barra de direcciones sftp://127.0.0.1:2222/. Esto abrirá un cuadro de diálogo de inicio de sesión. Era perezoso y no configuré nada, ya que era solo para probar, así que con la aplicación tuve que iniciar sesión con el nombre de usuario usery una contraseña de un solo uso que la aplicación generó y emitió.

Tuve un error extraño al principio que me rechazó la conexión, pero después de hacer clic en la nueva entrada de Red en Nemo que creé con el inicio de sesión, finalmente tuve acceso.

Voilà, ahora puede navegar y administrar el almacenamiento interno de su teléfono de forma segura, con una velocidad decente, sin el molesto error de no ver sus nuevos archivos sin reiniciar; aún tiene que actualizar su administrador de archivos.

Otra ventaja de esta solución es que funciona incluso cuando USB Tethering no funciona. Acabo de desarrollar esta solución exacta también, solo con scpy rsyncsobre SSH en lugar de SFTP.
Esta es una gran respuesta, pero ¿podría explicar esta parte un poco más ... "entonces, con la aplicación tuve que iniciar sesión con el nombre de usuario usery una contraseña de un solo uso que la aplicación generó y emitió"? En Play Store, dice: "[SimpleSSHD] solo admite autenticación basada en clave pública (sin contraseña/autenticación interactiva)".
Bien, lo siento, no estaba mirando la pantalla de mi teléfono. Veo que la aplicación SimpleSSHD genera y muestra esta contraseña de un solo uso. Sin embargo, cada vez que la ingreso en mi computadora, mi cliente SFTP me dice que ingresé una contraseña no válida. La aplicación SimpleSSHD muestra "Intento de contraseña incorrecto para 'usuario' de 127.0.0.1:57318". No estoy seguro de dónde vino ese puerto 57318, o si es significativo. ¿Cómo sabemos que el nombre de usuario 'usuario' es correcto? Además, inmediatamente antes de que SimpleSSHD emita el mensaje sobre el intento de contraseña incorrecta, se genera y se muestra una nueva contraseña de un solo uso diferente, parece extraño.
Bien, parece que... mi cliente SFTP inicia una conexión, SimpleSSHD genera la contraseña de un solo uso, pero mi cliente intenta una conexión inicial sin pasar la contraseña, y cuando logro ingresar la contraseña en mi cliente, la única -use la contraseña ya ha caducado. Esa es solo una anomalía que es exclusiva de mi cliente SFTP. Trataré de aprender authorized_keysy ver si puedo hacer que funcione
Finalmente conseguí que esto funcionara. Solo voy a publicar un comentario en caso de que ayude... Utilicé un cliente SFTP de línea de comandos básico para obtener mi archivo authorized_keys (generado por PuTTYgen) en el teléfono, en la ubicación especificada en la configuración de SimpleSSHD, pero cada vez que intentaba conectar, obtuve "Permiso denegado (clave pública)". Pensé que podría ser un problema de permisos de Unix en las claves autorizadas, pero primero eché un vistazo al contenido del archivo en sí. No estaba seguro de lo que debería ver, pero después de buscar en Google, me enteré de que mi archivo estaba formateado incorrectamente. Tengo el formato correcto aquí

Estoy usando adb, bajo Ubuntu 16.04.

Es significativamente más rápido que MTP (no lo cronometré, pero diría que aproximadamente 15x).

Para instalarlo, puede seguir las instrucciones disponibles en línea.

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/

He usado casi todas las opciones no root, ya sea webdav, ssh, sftp. Al final, el método más rápido para sincronizar más de 200 GB de fotos y videos es usaradb-sync

https://github.com/google/adb-sync
y hay una nueva reescritura en python3
https://github.com/SelfAdjointOperator/better-adb-sync