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

我该如何解决这个问题?


当前回答

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

首先,作为根,我跑:

systemctl start adb

作为普通用户:

adb shell 
su 

在触摸屏上授予root权限

mount 

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

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

其他回答

我认为最安全的方法是将/system重新挂载为可读写,使用:

mount -o remount,rw /system

完成后,将其重新挂载为只读:

mount -o remount,ro /system
adb remount

对我来说,这似乎是最简单的解决方案。

复制文件到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

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"

对Jan Bergström的回答再补充一点:因为Android是基于Linux的系统,Linux中的路径包含正斜杠(../),在使用push命令时,使用“/”来定义Android设备中的目标路径。

例如:adb push C:\Users\admin\Desktop\1.JPG sdcard/pictures/

注意这里,向后斜杠用来定义从windows PC推送的文件的源路径,向前斜杠用来定义目标路径,因为Android是基于Linux的系统。您不必作为根用户来使用这个命令,而且它在生产设备上工作得非常好。