Driver de sistema de archivos de usuario de Android en un dispositivo no enraizado?

¿Puedo escribir un sistema de archivos de usuario personalizado que se puede ejecutar en dispositivos de fábrica no arraigados a través de las utilidades estándar disponibles?

Soy consciente de la existencia del fusible-androide , sin embargo hasta donde he entendido, requiere un dispositivo enraizado. Si ese no es el caso, por favor corrijame.

El objetivo que estoy tratando de lograr es crear un FS "falso" que en realidad está montado en un archivo.

Tuve la misma necesidad hace algún tiempo y llegó al punto en el que tuve que admitir que no es posible en absoluto (en su mayoría). No debería ser un problema para construir libfuse para Android, también el envoltorio de Java no es ningún problema.

El problema real es que la mayoría de los sistemas que he visto no se construyen con el apoyo de fusibles de construcción ni tampoco proporcionan módulos que se pueden cargar (lo que requeriría root, pero de todos modos).

Puede averiguar fácilmente si el fusible está habilitado leyendo / proc / filesystems. Debe listar el fusible, de lo contrario necesitará root. Pero es muy probable que la mayoría de los dispositivos de android se construyan sin soporte de fusible.

Mis otras ideas eran usar otro sistema de archivos para "falsificar" algo como un fusible. Esto puede ser posible con nfs o algún otro sistema de archivos de red en el que pueda implementar el servidor por usted mismo. Esto te permitiría escribir un fusible falso, pero no creo que valga la pena.

Edit: E incluso si muchos dispositivos tendrían soporte de fusible, las posibilidades de buildin son altas, no te permitirían montarla como usuario, necesitarías tener acceso root, ya que tu aplicación no tendría los privilegios para montar sistemas de archivos de fusibles.

Luminger casi tiene la idea correcta. Esto es lo que encontré en mi Galaxy S3 (en Verizon):

El material de fusible apropiado existe en / proc / filesystems. Así que algo debe estar utilizando, posiblemente sistema. Sin embargo, cuando intento ejecutar 'fusermount', obtengo "No se puede ejecutar – Permiso denegado."

Así que parece que todo el material de FUSE está ahí, pero no tengo ni idea de si realmente podría usarlo directamente (dropbox? Sshfs?) Sin enraizar el dispositivo.

Depende de su implementación. Lo que suena a mí es que desea tener un archivo (s) físico (s) que representan un sistema de archivos de espacio de usuario completo. Tal vez similar a un .iso montado. Si este es el caso, no puedo pensar en ninguna razón para necesitar raíz: Simplemente cree / instale el archivo en algún lugar como / sdcard / y "monte" su sistema de archivos encima de él.

Dicho esto, si desea que dicho sistema de archivos sea accesible desde otras aplicaciones que no controla, necesitará root, ya que su aplicación se ejecutará en un entorno de prueba de Android de lo contrario.

  • ¿Cómo usar los iconos y la plantilla incorporados?
  • Comprobación de la configuración de Acceso a la notificación de seguridad del sistema de Android mediante programación
  • ¿Cómo puede la aplicación del sistema ubicada en / system / app tener permiso del sistema en Android 4.4 KitKat construir?
  • Problema de Android Studio al instalar
  • Ice Cream Sandwich init.rc documentación
  • ¿Cómo podría SystemClock.uptimeMillis () siempre envolver?
  • En Android, se muestra cómo detectar un diálogo del sistema (opciones de energía, aplicaciones recientes, batería baja ...).
  • ¿Cómo obtener colores del sistema Android?
  • Intentando obtener acceso r / w a android / system
  • Registros de sistema de archivos Android
  • Archivos de copia del emulador android en la partición del sistema
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.