我最近安装了我的Droid X,一切似乎都很完美。我做了一些改变来构建。prop,当我做adb push build时。prop /system/我得到以下错误:未能复制'c:\build。支持“到”/system//build。prop':只读文件系统。
我该如何解决这个问题?
我最近安装了我的Droid X,一切似乎都很完美。我做了一些改变来构建。prop,当我做adb push build时。prop /system/我得到以下错误:未能复制'c:\build。支持“到”/system//build。prop':只读文件系统。
我该如何解决这个问题?
当前回答
感谢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。
其他回答
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"
正如陈星提到的最简单的方法是:
adb reboot
但对我来说,我必须先改变我的设置:
设置→开发人员选项→根权限
确保ADB具有Root访问权限:
以下是对我有效的方法。我正在运行一个模拟的Android 7.1.1 (Nougat)设备。
在一个终端上,我点击下面的命令。需要注意的一点是-writable-system标志
./emulator -writable-system -avd Nexus_6_API_25 -partition-size 280
在另一个标签上
./adb shell
su
mount -o rw,remount -t ext4 /dev/block/vda /system
您对/system内容所做的所有更改都将在重新启动后继续存在。
在我的例子中,我使用的命令是adb push ~/Desktop/file.txt ~/sdcard/
我把它改为~/Desktop/file.txt /sdcard/,然后它就工作了。
请确保断开并重新连接电话。
对Jan Bergström的回答再补充一点:因为Android是基于Linux的系统,Linux中的路径包含正斜杠(../),在使用push命令时,使用“/”来定义Android设备中的目标路径。
例如:adb push C:\Users\admin\Desktop\1.JPG sdcard/pictures/
注意这里,向后斜杠用来定义从windows PC推送的文件的源路径,向前斜杠用来定义目标路径,因为Android是基于Linux的系统。您不必作为根用户来使用这个命令,而且它在生产设备上工作得非常好。