一个terminal命令,用于根Android重新挂载/系统作为读/写

我正在写一个android应用程序,需要在运行时将文件复制到“/ system”分区。 我有命令运行“su”,并可以成功地请求超级用户的权限,并以root身份运行命令。 但我不知道如何使这个应用程序跨多个设备通用,因为mount命令可以根据系统实际挂载的位置而有所不同。 这是最常用的命令:

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

但是我知道mtdblock3在某些设备上可能会有所不同(对于这个问题,我想可能是yaffs2)。 所以,我的问题是:是否有一个可以在所有手机上使用的通用命令? 或者有没有办法在运行时找出正确的参数是什么?

在构buildmount命令之前,可以不带参数运行mount命令以获取分区信息。 这里是一个没有参数从我的HTC Hero输出的mount命令的例子。

 $ 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 

我使用这个命令:

 mount -o rw,remount /system 

尝试

mount -o remount,rw / system

如果没有错误信息被打印,它的工作。

或者,你应该做以下的事情。

首先,确保fstypes。

安装

发出这个命令来找出它。

然后

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

请注意,fs(yaffs2)和设备(/ dev / block / mtdblock3)取决于您的系统。

代替

mount -o rw,重新安装/系统/

使用

mount -o rw,重新安装/系统

在命令的末尾记住“/”。 你问为什么这很重要? / system /是/ system下的目录,/ system是卷名。

执行重新计算时,您不需要传递两个参数。 您可以简单地通过挂载点(这里/系统)。 和/系统在Android设备中是普遍的。

您可以尝试adb remount命令,以重新挂载/系统作为读写

 adb remount 

我有同样的问题。 所以这里是真正的答案:在/proc下挂载系统。 这是我的命令:

mount -o rw,remount /proc /system

它的工作,实际上是我能克服只读系统问题的唯一方法。

这是我的第一代Droid X与Android 2.3.4版本的作品。 我怀疑这将是普遍的。 脚步:

  1. 根系统并安装su。

  2. 安装busybox

  3. 安装terminal程序。

  4. 然后先安装系统rw

     busybox mount -o rw,remount system 
  5. 重新安装ro

     busybox mount -o ro,remount system 

请注意,“系统”上没有斜杠。

如果你已经扎根你的手机,但没有busybox,只有库存toybox,在这里一个class轮作为根运行:

mount -o rw,remount $(mount | sed'/ / system /!d'| cut -d“”-f 1)/ system

toybox不支持“-o remount,rw”选项

如果你有busybox,你可以使用它:

busybox mount -o remount,rw / system