Android:adbd 无法在生产版本中以 root 身份运行

问题描述 投票:0回答:6

我有一部基于 Android 的手机 (2.3.6),并且解锁了 root 权限。 由于我想通过计算机访问我的手机,今天我安装了 QtAdb 和 Android SDK。 如果我打开命令提示符并且我这样做

adb shell 苏

我明白了

#

因此我可以在手机上复制、删除、推送文件(在手机上,我使用应用程序“SuperSU”收到通知。)

但是如果我在 Windows 7 下启动 QtAdb - 我会收到以下错误:“adbd 无法在生产版本中以 root 身份运行”。我错过了什么吗? QtAdb 有问题吗?

android adb root
6个回答
41
投票

问题是,即使您的手机已root,手机上的“adbd”服务器也不会使用root权限。您可以尝试绕过这些检查或在手机上安装不同的 adbd,或安装包含修补的 adbd 的自定义内核/发行版。

或者,一个更简单的解决方案是使用 chainfire 中的“adbd insecure”,它将即时修补你的 adbd。它不是永久性的,因此您必须在启动 adb 服务器之前运行它(或者将其设置为每次启动时运行)。您可以花几美元从 Google Play 商店获取该应用程序:

https://play.google.com/store/apps/details?id=eu.chainfire.adbd&hl=en

或者你可以免费获得,作者在 xda-developers 上发布了免费版本:

http://forum.xda-developers.com/showthread.php?t=1687590

将其安装到您的设备上(复制到设备上并用文件管理器打开apk文件),在设备上运行

adb insecure
,最后杀死电脑上的adb服务器:

% adb kill-server

然后重新启动服务器,它应该已经是root了。


22
投票

对于使用 Magisk 获取 Android 设备 root 权限的用户,您可以从 https://github.com/evdenis/adb_root 安装 adb_root。然后

adb root
就可以顺利运行了。


6
投票

如果有人仍然遇到问题,这就是我解决它的方法

您必须使用手机启动 shell 并进入 Magisk 应用程序,在超级用户选项卡(底部)中,您必须启用 shell 的 root 访问权限,然后它就可以工作了!


6
投票

使用
adb shell; su;

我仍然没有找到任何其他针对使用 Magisk 进行 root 的 Android 12 的解决方案。 adb_root 不适用于 android 12。adbd insecure 不适用于我并抛出错误

could not patch adbd


3
投票

您必须向 shell 应用程序授予

Superuser
权限 (
com.anroid.shell
)。 就我而言,我使用 Magisk 来 root 我的手机 Nexsus 6P (Oreo 8.1)。所以我可以在
Superuser
应用程序中授予
Magisk Manager
权限,该应用程序位于左上方选项菜单中。


0
投票

我成功使用 Magisk 的这个模块,尝试一下也许它会起作用 https://github.com/anasfanani/Adb-Root-Enabler/releases/tag/v1.2

© www.soinside.com 2019 - 2024. All rights reserved.