繁体   English   中英

adb remount 权限被拒绝,但能够访问 shell 中的超级用户 -- android

[英]adb remount permission denied, but able to access super user in shell -- android

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

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

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

请任何帮助

如果将来有人遇到同样的问题:

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

adb remountadb root在不改变 ro.secure 的情况下都不能在生产版本上工作,但是您仍然可以通过打开 shell、请求 root 权限并键入 mount 命令来重新挂载 /system。

emulator -writable-system

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

尝试

adb root
adb remount

以 root 身份启动 adb Demon 并确保分区以读写模式挂载(重要部分是adb root )。 push之后,再次使用以下命令撤销 root 权限:

adb unroot

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

adb root
adb disable-verity
adb reboot

然后

adb root
adb remount

您可以使用:

adb shell su -c "your command here"

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

启动 /w 可写系统

没有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:/ # 

将域添加到主机文件

$ 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 模拟器的“本地主机”。 它将委托给您的 Windows/Mac 主机文件和 DNS 服务。 您添加到开发机器的hosts文件中的任何域都将在您的 Android 模拟器主机文件中作为10.0.2.2使用。

AVD名称

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

工具 > AVD 管理器

AVD列表

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

为了便于打字,我将我的模拟器命名为“Pixel3a”,没有空格。 AVD 详细信息

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

然后我重新启动恢复

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM