【发布时间】:2023-04-03 01:54:01
【问题描述】:
我正在尝试将 /system 重新挂载为 rw 文件系统,以便将一些文件推送到 /system/framework。它是一个运行 Android 6.0 x86 映像的 android 模拟器。
$ mount
...
/dev/block/vda /system ext4 ro,seclabel,relatime,data=ordered 0 0
...
那我做
su
mount -o rw,remount /system
mount
...
/dev/block/vda /system ext4 rw,seclabel,relatime,data=ordered 0 0
...
此时我认为我还可以。然后我在主机上做:
adb push test.jar /system/framework/
但是我看到了:
failed to copy 'test.jar' to '/system/framework/test.jar': Read-only file system
然后我回到adb:
mount
...
/dev/block/vda /system ext4 ro,seclabel,relatime,data=ordered 0 0
...
它又回到了 ro。
当我再次尝试重新安装时,这次它甚至不允许我这样做:
mount: Read-only file system
255|root@generic_x86:/ #
那么我在哪里做错了?谢谢!
___ 编辑____
通过 adb root 命令以 root 身份重新启动 adbd 解决了我的问题。
【问题讨论】:
-
你试过bradcurtis.com/hosts-files-and-the-google-android-emulator 吗?我不确定命令
adb remount是否仍然有效,所以我还没有把它作为答案 -
@PawełZmarzły 不,它不起作用。保存行为作为我的方法。在我执行 adb remount 后它变为 rw。但是,当我实际向 /system 写入内容时,它会引发错误并改回 ro
-
@darklord 你知道如何推送文件了吗?更新我的 sdk 工具时,我也遇到了同样的问题
-
@Satya 我没有,但它应该与最近 android 版本中引入的 selinux 有关。 (请参阅 android 文档)我可以让它在 Android 4.2 上运行。
-
@darklord 我可以推送 Android 6.0,但是当我将构建工具更新到 25 版本时,我收到了这个错误。尝试了很多方法,但都失败了