所以,我正在尝试将一些文件推送到安卓设备(ZTE)的/system目录。我已经root了设备,并使用ADB连接了它。
adb remount -> 我得到了"permission denied"的提示。 adb shell su -> 我能够访问shell并创建文件夹等操作文件系统
(但在shell中,我无法从计算机复制文件到设备)
请帮忙解决问题,谢谢!
所以,我正在尝试将一些文件推送到安卓设备(ZTE)的/system目录。我已经root了设备,并使用ADB连接了它。
adb remount -> 我得到了"permission denied"的提示。 adb shell su -> 我能够访问shell并创建文件夹等操作文件系统
(但在shell中,我无法从计算机复制文件到设备)
请帮忙解决问题,谢谢!
如果将来有人遇到同样的问题:
$ adb shell
$ su
# mount -o rw,remount /system
adb remount
和adb root
在生产构建中无法正常工作,除非修改ro.secure,但是您仍然可以通过打开Shell、请求root权限并键入mount命令来重新挂载/system。
/system/bin/sh: su: not found
。我猜想这是因为我的设备没有被root过。 - Matt Hugginsmount: '/system' not in /proc/mounts
的错误。 - noname模拟器 -writable-system
如果您正在使用模拟器:另一种可能是您需要使用-writable-system选项启动模拟器。 当我使用带有4.1映像的Android Studio标准模拟器时,这是唯一有效的方法。 在此处查看:https://dev59.com/71oV5IYBdhLWcg3wIbtT#41332316
-drive
选项中删除read-only
选项:https://android.stackexchange.com/questions/110927/how-to-mount-system-rewritable-or-read-only-rw-ro/207200#207200 但请注意,它还指向了一个qcow2叠加层而不是图像本身,因此您必须在未来运行时传递此选项。 - Ciro Santilli OurBigBook.com尝试
adb root
adb remount
为了启动adb守护进程,并确保分区以读写模式挂载(其中关键部分是adb root
)。在push
完成后,使用以下命令恢复非root权限:
adb unroot
一些较新版本需要先运行以下额外的adb命令
adb root
adb disable-verity
adb reboot
那么
adb root
adb remount
adb disable-verity
给我返回了一个 error:closed
的错误。有什么解决方法吗? - Michael Tolsmaadb remount
之后,我遇到了一些写入数据错误,最终出现了“重新挂载失败”的提示。 - Sebastian Diaz您可以使用:
adb shell su -c "your command here"
只有已经root过的设备并安装了su才能运行此项功能。
此方法不适用于带有 Google Play 的生产 Android 映像。
使用非 Google Play 映像以获取 root 访问权限和可写系统。
通过命令提示符作为可写系统启动模拟器,使用其 AVD 名称(例如,在此示例中为 Pixel3a
,请参见下面的 AVD 名称 查找或更改您的名称。在使用此命令时,请确保没有其他模拟器实例正在运行):
emulator @Pixel3a -writable-system
请保存此命令。每次需要将模拟器设置为“可写”时,您都需要使用它。我在 gitbash 中使用别名从 gitbash 终端启动模拟器。
这将启动模拟器。
启动完成后,请打开另一个命令提示符/终端(当前正在运行模拟器的终端),并执行以下操作:
adb root
结果应该是:
$ adb root
restarting adbd as root
然后:
adb remount
结果:
$ adb remount
remount succeeded
当你:
adb shell
并且:
su
现在您应该拥有完全的根/可写访问权限:
$ adb shell
generic_x86_arm:/ # su
generic_x86_arm:/ #
向hosts文件中添加域名
$ cd /etc
$ cp hosts hosts.bak1
$ cat hosts
127.0.0.1 localhost
::1 ip6-localhost
$ echo '10.0.2.2 my.newdomain.com' >> hosts
$ cat hosts
127.0.0.1 localhost
::1 ip6-localhost
10.0.2.2 my.newdomain.com
在Android模拟器中,“10.0.2.2”是“localhost”的地址。它会委托给Windows/Mac主机文件和DNS服务。您在开发机的hosts
文件中添加的任何域名都将作为10.0.2.2
在Android模拟器的主机文件上运行。
在Android Studio中,可以通过以下菜单启动AVD Manager:
工具 > AVD Manager
如果您的模拟器名称带有空格,可以点击右侧的铅笔图标进行更改。
/etc/hosts
文件相同的 IP:192.168.56.5。) - Andron我重启到恢复模式
adb root; adb adb remount system;
对我有用 我的恢复是 twrp v3.5
@echo off
color 0B
echo =============================================================================
echo.
echo ClockworkMod Recovery for SAMSUNG GALAXY SIII E210L
echo.
echo ClockworkMod Recovery (v6.0.1.2 Touch)
echo.
echo ¡ô¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¡ô
echo ¨U ¨U
echo ¨U SAMSUNG GALAXY SIII E210L ¨U
echo ¡ô¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¡ô
echo.
echo 1) (Settings\Developer options©¥ USB debugging)
echo.
echo 2) CWM SAMSUNG GALAXY SIII E210L
echo.
echo 3) THANK!!!!!!
echo.
echo =============================================================================
echo ARE YOU READY? GO! ¡·¡·¡·
@pause
echo.
echo adb...
adb.exe kill-server
adb.exe wait-for-device
echo wiat¸!
echo.
echo conect...
adb.exe push IMG /data/local/tmp/
adb.exe shell su -c "dd if=/data/local/tmp/GANGSTAR-VEGAS-1.3.0-APK-Andropalace.net.apk of=/mnt/sdcard/Android/GANGSTAR-VEGAS-1.3.0-APK-Andropalace.net.apk
adb.exe shell su -c "rm /data/local/tmp/bootloader.img"
adb.exe shell su -c "rm /data/local/tmp/recovery.img"
echo ===============================================================
echo ClockworkMod Recovery!
echo.
@pause
adb root
命令,然后再执行adb remount
命令吗? - Michaeladb shell mount -o rw,remount /system
以将系统挂载为可读写状态。 - Drake Clarris