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

我该如何解决这个问题?


当前回答

复制文件到sd卡?

嗯,我猜你喜欢把数据从开发人员的电脑复制到sd卡上吧?你可能已经扎根的设计,并使你地址的区域可用?)我在为我的应用程序上传数据文件时遇到了同样的问题(Android Studio 1.3.2 in Win7),但是。

首先,adb命令shell必须在th路径下找到: C:\Users\XXXXX\AppData\Local\Android\sdk\platform-tools(文件夹AppData是隐藏的,所以你必须设置文件夹设置不隐藏隐藏文件和文件夹来找到它,路径工作不管) 你必须拼写正确的文件夹路径,否则你会得到一个只读错误消息,很可能它必须以/sdcard开头,或者它是只读区域。只要我没有问题,把文件推到模拟器。

例如,adb命令可以是这样的:

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

其他回答

在我的三星galaxy mini S5570上(在手机上扎根后):

首先,作为根,我跑:

systemctl start adb

作为普通用户:

adb shell 
su 

在触摸屏上授予root权限

mount 

列出我们拥有的所有挂载点,我们可以看到,在我的例子中,/dev/stl12被挂载在/system上为ro(仅准备好),所以我们只需要做:

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

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

adb reboot

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

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

确保ADB具有Root访问权限:

有时你会得到错误,因为目标位置在电话不存在。例如,一些android手机的外部存储位置是/storage/emulated/legacy而不是/storage/emulated/0。

虽然我知道这个问题是关于真实设备的,但如果有人在模拟器中遇到类似的问题,无论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

在我的例子中,我使用的命令是adb push ~/Desktop/file.txt ~/sdcard/

我把它改为~/Desktop/file.txt /sdcard/,然后它就工作了。

请确保断开并重新连接电话。