Monte el sistema de archivos de Android en Windows o Linux

Quiero editar algunos archivos en mi teléfono, pero no puedo acceder a la carpeta raíz de mi teléfono.

Estoy usando un Google Nexus 5 rooteado con Android 5.0. Puedo leer/escribir en mi correo electrónico /y /systemusar la aplicación de Android "ES File Explorer", pero no el software de Windows.

¿Cómo puedo montar el archivo del sistema Android en Windows para poder leer/escribir en los mismos lugares desde allí? Si eso no es posible en Windows: también estoy usando Ubuntu. Entonces, ¿puedo montar mi teléfono en Ubuntu?

Respuestas (4)

Hay una segunda forma, que debería funcionar con múltiples sistemas operativos en el extremo de la computadora: Echando un vistazo a mi lista de aplicaciones de servidor de archivos de Android , puede encontrar algunas aplicaciones de servidor de archivos de Android usando WebDAV o Samba, y SSH Clients & Server tiene algunas para SSH. Marque aquellos con "capacidades de raíz", ya que desea acceder a todo el sistema de archivos de lectura/escritura.

La preparación de su dispositivo para el acceso de lectura/escritura se realiza de la misma manera que se especifica en mi otra respuesta . Luego inicie la "aplicación de servidor" que ha seleccionado, y debería estar listo, ni siquiera se necesita un cable, ya que funciona a través de WiFi:

  • Linux admite SSHFS , es decir, montar el sistema de archivos a través de SSH. También hay ayudantes para lograr esto en Windows (enumerados allí)
  • Samba es compatible como "Samba" en Linux y debería ser compatible de forma nativa en Windows como "Windows Share"
  • WebDAV también debería ser compatible con ambos sistemas.

Entonces, con cualquiera de las tres categorías, debería poder montar el sistema de archivos de su Android tanto en Linux como en Windows. Los únicos "inconvenientes" posibles aquí son que necesita una aplicación adicional en el dispositivo Android, y podría ser un poco más lento debido a WiFi (aunque este último no debe ser necesariamente el caso).

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 adbfsbinario resultante a 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 elegirla (se incluyen instrucciones de instalación).

Ambas variantes tienen sus pros y sus contras: mc-extfs-adb tarda bastante 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 :)

He seguido lo que dijiste, cuando implemento el comando "adbfs ~/droid" mi PC muestra "droid ha sido conectado", el terminal muestra "--*-- exec_command: adb shell ls" pero cuando hago clic en el símbolo del dispositivo, muestra "Mensaje de error no manejado: Error al obtener información para el archivo '/home/peter/droid': El punto final de transporte no está conectado". ¿Qué debo hacer ahora?
La primera parte (lo que muestra la terminal) es el comportamiento normal y esperado. Como hacer clic en el shell no hace nada, no sé a qué "símbolo de dispositivo" te refieres; debería ir cda esa carpeta o (usando su explorador de archivos) navegar a /home/peter/droid(el directorio "local") en lugar de algún dispositivo. Para las operaciones de archivos, no soy el "chico gráfico";)
Esto es lo que muestra la terminal peter@peter-N56VV:~/adbfs-rootless$ ./adbfs /droid --*-- exec_command: adb shell ls peter@peter-N56VV:~/adbfs-rootless$ /home/peter/ droid bash: /home/peter/droid: El punto final de transporte no está conectado
¿Tienes el dispositivo conectado y la depuración USB habilitada? ¿Qué adb devicesmuestra? Nunca he visto ese mensaje de error, pero de alguna manera "El punto final de transporte no está conectado" parece indicar que no hay nada en el "otro extremo" que pueda usarse.
adb devices: Lista de dispositivos conectados 04b713228291c6d0 device El modo de depuración USB está habilitado.
Uh, parece que te has topado con el problema n.° 3. Sigue ese ticket de Github, la solución está ahí.

Instale FX File Explorer desde Play Store , déle acceso de root y cámbielo a través del sistema de archivos.

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 .

Si necesita una aplicación específica para interactuar con el sistema de archivos del dispositivo Android, eso no responde a la pregunta. Montar un sistema de archivos lo hace disponible en todo el sistema, para cualquier aplicación. Si la pregunta fuera "cómo copiar archivos", hay muchas buenas aplicaciones para eso: Ryan's Droid Explorer definitivamente es una de ellas (el desarrollador también está activo aquí;)
Está respondiendo a la pregunta sobre cómo ve y lee/escribe los archivos raíz del sistema Android en la PC.
Sí, responde esa parte de la pregunta, tienes razón. Tal vez lo tome un poco al pie de la letra, ya que el título dice montar el sistema de archivos de Android . Definitivamente es una pista útil, que el OP podría querer seguir, ya que carece de alternativas en Windows :) ¡Así que gracias por traer esto!