usar sideload que para lista hard emulator como comandos android system root mount

sideload - Un comando de terminal para un Android rooteado/Sistema como de lectura/escritura



como usar terminal emulator para android (9)

Estoy escribiendo una aplicación de Android que necesita copiar un archivo a la partición "/ system" en tiempo de ejecución. Tengo los comandos para ejecutar "su" y puedo solicitar permisos SuperUser y ejecutar comandos como root. Pero no sé cómo hacer que esta aplicación sea universal en varios dispositivos, ya que el comando de montaje puede variar según el lugar donde realmente esté montado el / system. Aquí está el comando que más se usa:

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

Pero sé que mtdblock3 podría ser diferente en algunos dispositivos (y para el caso, supongo que también podría yaffs2). Entonces, mi pregunta es: ¿hay un comando universal que funcione en todos los teléfonos? ¿O hay una manera de averiguar en tiempo de ejecución cuáles son los parámetros correctos?


En lugar de

mount -o rw, remontar / sistema /

utilizar

mount -o rw, remontaje / sistema

tenga en cuenta el ''/'' al final del comando. preguntas por qué esto importa? / system / es el directorio en / system while / system es el nombre del volumen.


Esto es lo que funciona en mi primera generación Droid X con Android versión 2.3.4. Sospecho que esto será universal. Pasos:

  1. sistema raíz e instalar su.

  2. Instalar busybox

  3. Instale un programa de terminal.

  4. para montar el sistema rw primero su luego

    busybox mount -o rw,remount system

  5. Para remontar ro

    busybox mount -o ro,remount system

Tenga en cuenta que no hay barras en "sistema".


No necesita pasar ambos argumentos al realizar un remontaje. Simplemente puede pasar el punto de montaje (aquí / sistema). Y / el sistema es universal entre los dispositivos Android.


Puede ejecutar el comando mount sin parámetro para obtener información de la partición antes de construir su comando mount. Aquí hay un ejemplo del comando mount sin parámetros superados por mi HTC Hero.

$ mount mount rootfs / rootfs ro 0 0 tmpfs /dev tmpfs rw,mode=755 0 0 devpts /dev/pts devpts rw,mode=600 0 0 proc /proc proc rw 0 0 sysfs /sys sysfs rw 0 0 tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0 none /dev/cpuctl cgroup rw,cpu 0 0 /dev/block/mtdblock3 /system yaffs2 rw 0 0 /dev/block/mtdblock5 /data yaffs2 rw,nosuid,nodev 0 0 /dev/block/mtdblock4 /cache yaffs2 rw,nosuid,nodev 0 0 /dev/block//vold/179:1 /sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid= 1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,s hortname=mixed,utf8,errors=remount-ro 0 0


Puede probar el comando adb remount para volver a montar / system como lectura de escritura

adb remount


Si ha rooteado su teléfono, pero no tiene busybox, solo almacene toybox, aquí un trazador de líneas para ejecutar como root:

mount -o rw, remontar $ (mount | sed ''/ / system /! d'' | cut -d "" -f 1) / system

toybox no admite la opción "-o remount, rw"

si tienes busybox, puedes usarlo:

busybox mount -o remount, rw / system


Tratar

mount -o remount, rw / system

Si no se imprime un mensaje de error, funciona.

O bien, deberías hacer lo siguiente.

Primero, asegúrate de que el tipo fs.

montar

Emita este comando para descubrirlo.

Entonces

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

Tenga en cuenta que el fs (yaffs2) y el dispositivo (/ dev / block / mtdblock3) dependen de su sistema.


Yo tuve el mismo problema. Así que aquí está la respuesta real: monte el sistema en /proc . Aquí está mi comando:

mount -o rw,remount /proc /system

Funciona, y de hecho es la única forma en que puedo superar el problema del sistema de solo lectura.


Yo uso este comando:

mount -o rw,remount /system