ADB root无法在模拟器上运行(无法在生产版本中以root身份运行)

问题描述 投票:30回答:2

我刚刚更新了模拟器26.0.3,现在我无法为新创建的模拟器运行adb root命令。

显示的错误如下:

adbd cannot run as root in production builds

我已杀死并重新启动adbd,如:

adb kill-server
adb devices

没有任何帮助,任何想法?


我不确定有什么区别以及如何选择不同的构建但是,如果在创建时启用了以下设置,那么它有root.enter image description here

android android-emulator adb root
2个回答
90
投票

[Credit属于@Merk,但这应该作为答案而不是评论发布。]

要启用root访问权限,请使用类似的模拟器映像

Google API英特尔x86 Atom系统映像

谷歌播放英特尔x86 Atom系统映像

要测试它,运行adb root。应该说

以root身份重新启动adbd

要么

adbd已经以root身份运行

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

或者,要测试它,运行adb shell,如果提示以$结束,请运行su。你应该得到一个#提示。

步骤:安装和使用可以root身份运行的模拟器映像:

  1. 在Android Studio中,使用菜单命令“工具”>“AVD管理器”。
  2. 单击+创建虚拟设备...按钮。
  3. 选择虚拟硬件。
  4. 选择系统映像。选择以下任何一个: 英特尔x86 Atom系统映像 Intel x86 Atom_64系统映像 Google API英特尔x86 Atom系统映像 Google API英特尔x86 Atom_64系统映像。 (不要选择“Google Play ...系统映像”。这些是无法以root身份运行的。)
  5. 如果需要,单击“下载”按钮。
  6. 完成创建新的AVD。
  7. 运行新的AVD。

7
投票

如果要进行root访问,则使用错误的模拟器映像。正如错误消息所述,生产版本中不允许使用root,而是使用userdebug构建。

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