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

Posted

技术标签:

【中文标题】Android:adbd 无法在生产版本中以 root 身份运行【英文标题】:Android: adbd cannot run as root in production builds 【发布时间】:2014-10-05 23:16:26 【问题描述】:

我有一部基于 android 的手机 (2.3.6),具有解锁的 root 权限。 因为我想通过我的电脑访问我的手机,所以今天我安装了 QtAdb 和 Android SDK。 如果我打开命令提示符,我会这样做

adb shell su

我明白了

#

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

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

【问题讨论】:

"adb shell su" 不会改变你可以推或拉的东西,所以如果你可以访问你需要的东西,那么显然你不需要 need root . 我需要访问我手机的整个文件系统。如果我做“id”,显然我得到“uid = 0(root)gid = 0(root)”。我想知道为什么 QtAdb 告诉我“adbd 不能在生产构建中以 root 身份运行”。 在另一个shell中的su下运行一个shell不会改变adbd执行push和pull操作的uid 你可以看看这个帖子android.stackexchange.com/questions/5884/… ***.com/a/25490518/1778421 【参考方案1】:

问题是,即使您的手机已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,最后kill掉你电脑上的adb服务器:

% adb kill-server

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

【讨论】:

启用补丁会禁用 Nexus 5X 上的 USB 调试。有什么选择吗? 该应用从不请求许可,但说我需要给它许可。有任何想法吗? (安装了 adb) “是说我需要给它许可”是什么意思?您的手机确实需要 root,并且您需要确保是否有任何限制 root 可用性的应用程序(例如 Greenify)允许该应用程序具有 root 权限。【参考方案2】:

对于使用 Magisk 植根 Android 设备的用户,您可以从 https://github.com/evdenis/adb_root 安装 adb_root。那么adb root就可以顺利运行了。

【讨论】:

这对我有用。我现在可以在我的电脑上运行adb root 我在使用 Magisk 的 Pixel 4 (Android 11) 上进行了尝试,不幸的是,尽管成功安装了 abd_root 模块,但仍然出现相同的错误:“adbd cannot run as root in production builds” @avelyne ADB Root 仅是 ARM64,也许这就是问题所在。【参考方案3】:

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

【讨论】:

以上是关于Android:adbd 无法在生产版本中以 root 身份运行的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向Android 权限 ( adb 降权相关的属性 | ro.secure 属性 | ro.debuggable 属性 | service.adb.root 属性 )(代

Android 逆向Android 权限 ( adb 降权相关的属性 | ro.secure 属性 | ro.debuggable 属性 | service.adb.root 属性 )(代

Android系统_adb连接adbd加入密码检测二

Android系统_adb连接adbd加入密码检测二

Android系统_MSM8953_android10_adb连接adbd加入密码检测

Android系统_MSM8953_android10_adb连接adbd加入密码检测