70

所以,我正在尝试将一些文件推送到我已经植根并与 ADB 连接的 android 设备(zte)上的 /system,

adb remount -> 我获得权限被拒绝 adb shell su -> 我能够访问 shell 并创建文件夹等并编辑文件系统

(但在 shell 中我无法将文件从计算机复制到设备)

请提供任何帮助

4

9 回答 9

96

万一以后有人遇到同样的问题:

$ adb shell
$ su
# mount -o rw,remount /system

在不改变 ro.secure 的情况下,两者adb remountadb root不能用于生产构建,但您仍然可以通过打开 shell、请求 root 权限并键入 mount 命令来重新挂载 /system。

于 2012-11-13T18:23:05.607 回答
23

emulator -writable-system

对于使用模拟器的人:另一种可能性是您需要使用 -writable-system 启动模拟器。当使用带有 4.1 图像的 android studio 打包的标准模拟器时,这是唯一对我有用的东西。在这里查看:https ://stackoverflow.com/a/41332316/4962858

于 2017-04-02T01:23:07.353 回答
19

尝试

adb root
adb remount

以 root 身份启动 adb 恶魔并确保分区以读写模式挂载(基本部分是adb root)。在pushing 之后,再次使用以下命令撤销 root 权限:

adb unroot
于 2014-06-20T20:00:35.930 回答
12

一些较新的版本需要首先运行以下附加 adb 命令

adb root
adb disable-verity
adb reboot

然后

adb root
adb remount
于 2018-07-24T07:47:10.793 回答
9

您可以使用:

adb shell su -c "your command here"

只有带有 su 的 root 设备才有效。

于 2014-02-13T16:03:48.070 回答
1

启动 /w 可写系统

在没有Google Play的情况下使用模拟器图像

这不适用于生产 Android 图像,即带有 Google Play 的图像

使用非 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

您现在应该拥有完整的 root/可写访问权限:

$ adb shell
generic_x86_arm:/ # su
generic_x86_arm:/ # 

将域添加到主机文件

$ 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

10.0.2.2 是 Android 模拟器的“localhost”。它将委托给您的 Windows/Mac 主机文件和 DNS 服务。您添加到开发机器hosts文件中的任何域都将与您10.0.2.2的 Android 模拟器主机文件一样工作。

AVD 名称

在 Android Studio 中,可以从菜单启动 AVD Manager:

工具 > AVD 管理器

AVD 列表

如果您的模拟器名称有空格,您可以通过单击右侧的铅笔图标来更改它。

为了便于输入,我将我的模拟器命名为“Pixel3a”,不带空格。 AVD 详细信息

于 2021-03-10T02:14:36.653 回答
0

尝试使用 API lvl 28 模拟器(Android 9)。我正在尝试使用 api lvl 29 并不断收到错误。

于 2021-01-14T20:03:35.360 回答
0

然后我重新启动恢复

adb root; adb adb remount system; 

为我工作我的恢复是twrp v3.5

于 2021-01-20T05:39:23.950 回答
-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
于 2015-12-08T02:31:28.380 回答