我最近安装了我的Droid X,一切似乎都很完美。我做了一些改变来构建。prop,当我做adb push build时。prop /system/我得到以下错误:未能复制'c:\build。支持“到”/system//build。prop':只读文件系统。

我该如何解决这个问题?


当前回答

虽然我知道这个问题是关于真实设备的,但如果有人在模拟器中遇到类似的问题,无论2017年2月最新的工具是什么,模拟器都需要从命令行启动:

-writable-system

对于任何可写入/系统的内容。如果没有这个标志,remount或mount的任何组合都不允许写入/system。

在模拟器以该标志启动后,在adb根目录后重新安装一个adb就足以获得推送到/system的权限。

下面是我用来运行模拟器的命令行示例:

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

-avd标志的值来自:

./emulator -list-avds

其他回答

这是从一个Android论坛得到的,我在那里问了同样的问题。希望这能帮助到其他人。

在手机终端模拟器中:

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

然后在cmd提示符下,执行adb push

并不是所有的手机和安卓版本都安装了相同的东西。 重新安装时限制选项是最好的。

简单地重新挂载为rw(读/写):

# mount -o rw,remount /system

一旦你完成了修改,重新挂载到ro(只读):

# mount -o ro,remount /system

正如陈星提到的最简单的方法是:

adb reboot

但对我来说,我必须先改变我的设置:

设置→开发人员选项→根权限

确保ADB具有Root访问权限:

感谢Sérgio,为“mount”命令没有参数的想法。 我需要将adb推入/data/data/com.my。app/lib用于一些测试问题,并获得“只读文件系统”消息。

Ls命令告诉我:

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文件 LRWXRWXRWX系统系统2016-05-06 11:43 lib -> /mnt/asec/com.my.app-1/lib

因此,不难理解,“lib”目录与其他应用程序目录是分开的。

命令 Mount -o rw,重新Mount /mnt/asec 没有解决“r/o fs”问题,它想要设备参数在目录参数之前。

"df"命令也没有帮助,但显示我的/mnt/asec/com.my。App-1目录位于单独的挂载点。

然后我看了看,瞧!

root@android:/ # mount ......... 布洛克/ dev / dm-4 /分钟asec / com .我。app-1 ext4 ro, dir同步,相对0 0

接下来的步骤已经向上描述:重新挂载到RW,推送并重新挂载回RO。

adb disable-verity
adb reboot
adb root
adb remount

这对我来说很有效,而且是最简单的解决方案。