unistaller solo sistema rooteado puede porque pero permisos permiso para montando modo lectura este escritura eliminar editar conceder como celular carpeta cambiar archivos archivo android

solo - permisos de lectura y escritura android



Solo lectura del sistema de archivos en Android (19)

Copiar archivos a la tarjeta SD?

Bueno, supongo que te gusta copiar los datos a la tarjeta Sd desde la computadora del desarrollador. ¿Es posible que haya rooteado el dispositivo e implementado el área de su dirección disponible?) Tuve el mismo problema para cargar archivos de datos para mi aplicación (Android Studio 1.3.2 en Win7), pero.

  • En primer lugar, el comando-shell adb debe encontrarse en la ruta: PATH =% PATH%; C: / Users / XXXXX / AppData / Local / Android / sdk / platform-tools (la carpeta AppData está oculta, por lo que debe establecer la configuración de la carpeta no oculta los archivos ocultos y la carpeta para encontrarla, Path funciona independientemente)
  • Tienes que deletrear correctamente la ruta de la carpeta o si recibes un mensaje de error de solo lectura, lo más probable es que deba comenzar con / sdcard o sea un área de solo lectura. Tan pronto como no tuve problemas empujando el archivo al emulador.

Entonces, por ejemplo, el comando adb puede verse así:

adb push C: / testdata / t.txt /sdcard/download/t.txt

Recientemente rooteé mi Droid X y todo parece funcionar perfectamente. Hice algunos cambios en build.prop y cuando hago adb push build.prop /system/ obtengo el siguiente error: failed to copy ''c:/build.prop'' to ''/system//build.prop'': Read-only file system .

¿Cómo puedo arreglar esto?


A veces obtienes el error porque la ubicación de destino en el teléfono no existe. Por ejemplo, alguna ubicación de almacenamiento externo de un teléfono Android es /storage/emulated/legacy lugar de /storage/emulated/0 .


Añadiendo un poco más a la respuesta de Jan Bergström: como Android es un sistema basado en Linux, y la ruta en Linux contiene barras diagonales (../), al usar el comando push, use "/" para definir la ruta de destino en el dispositivo Android.

Por ejemplo, el comando va: adb push C: / Users / admin / Desktop / 1.JPG sdcard / pictures /

Tenga en cuenta que aquí, las barras invertidas se usan para definir la ruta de origen del archivo que se va a enviar desde la PC de Windows y las barras diagonales se usan para definir la ruta de destino porque Android es un sistema basado en Linux. No es necesario que actúe como raíz para usar este comando y, además, funciona perfectamente bien en los dispositivos de producción.


Abra el emulador de terminal en el teléfono: luego

adb shell

después de que se inicie el daemon

su mount -o rw,remount /mnt/sdcard

luego, la lectura solo se convierte en lectura-escritura.


Aunque sé que la pregunta es sobre el dispositivo real, en caso de que alguien llegue aquí con un problema similar en el emulador, con las herramientas más recientes desde febrero de 2017, el emulador debe iniciarse desde la línea de comando con:

-writable-system

Para cualquier cosa que se pueda escribir en el /system . Sin esta bandera, ninguna combinación de remount o mount permitirá escribir en /system .

Después de que el emulador se inicie con esa bandera, basta con un solo adb remount adb root después de la adb root para obtener permisos para enviar a /system .

Aquí hay un ejemplo de la línea de comando que uso para ejecutar mi emulador:

./emulator -writable-system -avd Nexus_5_API_25 -no-snapshot-load -qemu

El valor para las banderas -avd proviene de:

./emulator -list-avds


Creo que la forma más segura es volver a montar el / system como de lectura-escritura, usando:

mount -o remount,rw /system

y cuando termine, vuelva a montarlo como de solo lectura:

mount -o remount,ro /system


En mi Samsung galaxy mini S5570 (después de obtener la raíz en el teléfono celular):

Puño, como root, ejecuté:

systemctl start adb

como un usuario normal:

adb shell su

Otorgar permisos de raíz en la pantalla táctil

mount

enumere todos los puntos de montaje que tenemos y podemos ver, en mi caso, que / dev / stl12 fue montado en / system como ro (solo listo), así que solo necesitamos hacer:

mount -o rw,remount /dev/stl12 /system


Encontré este artículo de Google y pensé que agregaría los pasos necesarios en un Sony Xperia Z (4.2.2).

Sony tiene un proceso de vigilancia que detecta cuándo ha cambiado ro a rw on / y / system (estos son los únicos que estaba tratando de modificar) y posiblemente otros.

Lo siguiente fue lo que corrí para realizar los cambios que estaba tratando de lograr. Pegué estos en una ventana, porque la eliminación del bit de ejecución de / sbin / ric debe hacerse rápidamente para evitar que se reinicie. (Intenté stop ric ; esto no funciona, aunque funcionó en una versión anterior de android en el teléfono).

pkill -9 ric; mount -o rw,remount -t rootfs / chmod 640 /sbin/ric mount -o rw,remount /system

Modifiqué el archivo de hosts aquí, así que este es el lugar donde realizas los cambios que necesitas para el sistema de archivos. Para dejar las cosas como las encontramos, haz esto:

mount -o ro,remount /system chmod 750 /sbin/ric mount -o ro,remount -t rootfs /

En ese punto, ric debería reiniciarse automáticamente. (Se reinició automáticamente).


Esto es lo que funcionó para mí. Estaba ejecutando un dispositivo emulado Android 7.1.1 (Nougat).

En una terminal, presiono el siguiente comando. Una cosa que debe notarse es la bandera del sistema escribible

./emulator -writable-system -avd Nexus_6_API_25 -partition-size 280

En otra pestaña

./adb shell su mount -o rw,remount -t ext4 /dev/block/vda /system

Todos los cambios que haga en los contenidos de / system sobrevivirán a un reinicio.


Gracias, Sérgio , por el comando "mount" sin la idea de parámetros. Tendría que hacer una adb push en /data/data/com.my.app/lib para algún problema de prueba, y obtener el mensaje " /data/data/com.my.app/lib de archivos de solo lectura".

El comando me muestra:

root@android:/ # ls -l /data/data/com.my.app/
drwxrwx--x u0_a98 u0_a98 2016-05-06 09:16 cache drwxrwx--x u0_a98 u0_a98 2016-05-06 09:04 files lrwxrwxrwx system system 2016-05-06 11:43 lib -> /mnt/asec/com.my.app-1/lib

Entonces, se entiende que el directorio "lib" está separado de otros directorios de aplicaciones.

El comando mount -o rw,remount /mnt/asec no resolvió el problema "r / o fs", quiere el parámetro del dispositivo antes del parámetro del directorio.

El comando "df" tampoco ayudó, pero muestra que mi directorio /mnt/asec/com.my.app-1 está en el punto de montaje independiente.

Luego miro por el mount y ¡voilá!

root@android:/ # mount ......... /dev/block/dm-4 /mnt/asec/com.my.app-1 ext4 ro,dirsync,relatime 0 0

Los siguientes pasos ya se describen al alza: vuelva a montar en RW, empuje y vuelva a montar en RO.


Lo saqué de un foro de Android donde hice la misma pregunta. Espero que esto ayude a alguien más.

En un emulador de terminal en el teléfono:

mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system

Luego, en el indicador de cmd, haz el adb push


No todos los teléfonos y versiones de Android tienen cosas montadas de la misma.
Limitar las opciones al remontar sería lo mejor.

Simplemente vuelva a montar como rw (lectura / escritura):

# mount -o rw,remount /system

Una vez que haya terminado de hacer cambios, vuelva a montar en ro (solo lectura):

# mount -o ro,remount /system


Pruebe esto en un emulador de terminal como root:

restorecon -v -R /data/media


Pruebe lo siguiente en el símbolo del sistema:

>adb remount >adb push framework-res_old.apk /system/framework-res.apk


Si se produce un error al copiar el archivo de solo lectura, puede intentar ubicar el archivo original en el directorio raíz y modificarlo con un editor de texto raíz (preferiblemente) editor de texto RB, que viene con la aplicación ROM Toolbox.


es necesario extraer y volver a empaquetar initrc.img y editar el archivo init con el código de mount / system


This worked for me #Mount as ReadOnly su -c "mount -o rw,remount /system" # Change Permission for file su -c "chmod 777 /system/build.prop" #Edit the file to add the property su -c "busybox vi /system/build.prop" # Add now service.adb.tcp.port=5678 # Reset old permissions su -c "chmod 644 /system/build.prop" # Mount as readonly again once done su -c "mount -o ro,remount /system"


adb remount

funciona para mí y parece ser la solución más simple.


mount -o rw,remount /dev/stl12 /system

funciona para mi