无法将android系统目录更改为rw

Posted

技术标签:

【中文标题】无法将android系统目录更改为rw【英文标题】:Cannot change android system directory to rw 【发布时间】:2016-08-08 19:27:07 【问题描述】:

我正在尝试将 /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 版本时,我收到了这个错误。尝试了很多方法,但都失败了 【参考方案1】:

根据@raed-hosny 的回答,我解决了这个问题

$ emulator -writable-system -netdelay none -netspeed full -avd Nexus_5X_API_25

在您的日志中,您会看到类似这样的内容

sh: 1: glxinfo: not found emulator: WARNING: System image is writable sh: 1: glxinfo: not found emulator: Listening for console connections on port: 5554 emulator: Serial number of this emulator (for ADB): emulator-5554

【讨论】:

错误:远程只读文件系统【参考方案2】:

尝试使用 -writable-system 从终端启动模拟器,以便您可以以旧方式将 /system 挂载为可写

【讨论】:

你能给出确切的命令吗?可写系统是什么的论据? mount 命令还是 adb? @user13107 他指的是 sdk/tools/emulator 上的可执行文件 回答user13107的问题:emulator -writable-system -netdelay none -netspeed full -avd THE_NAME_OF_YOUR_EMULATOR【参考方案3】:

另一个答案对我来说很接近,但缺少一些步骤。如果服务器尚未运行,则必须先启动它:

adb start-server
emulator -writable-system -avd Pixel_2_API_24

然后你可以挂载为可写:

adb root
adb remount

https://docs.mitmproxy.org/stable/howto-install-system-trusted-ca-android

【讨论】:

以上是关于无法将android系统目录更改为rw的主要内容,如果未能解决你的问题,请参考以下文章

如何将ProfilePictureView更改为圆形图像。 Drawable无法正常工作

将批处理脚本中的目录更改为没有名称的文件夹

无法将状态栏颜色更改为半透明黑色 [重复]

无法在 Xcode 11 Beta 中将系统字体更改为自定义字体

在android studio中将targetSDK更改为29后关闭应用程序

无法将包管理器更改为纱线