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

时间:2017-05-11 19:23:43

标签: android android-emulator adb root

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

显示的错误如下:

adbd cannot run as root in production builds

我已杀死并重启adbd,如:

adb kill-server
adb devices

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

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

3 个答案:

答案 0 :(得分:88)

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

要启用root访问权限,请使用

之类的模拟器图像
  

Google API英特尔x86 Atom系统映像

  

Google Play Intel x86 Atom System Image

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

  

以root身份重新启动adbd

  

adbd已经以root身份运行

  

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

或者,要对其进行测试,请运行adb shell,如果提示以$结尾,请运行su。您应该收到#提示。

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

  1. 在Android Studio中,使用菜单命令工具> AVD Manager
  2. 点击 +创建虚拟设备... 按钮。
  3. 选择虚拟硬件。
  4. 选择系统映像。选择以下任何一个:

    Intel x86 Atom系统映像

    Intel x86 Atom_64系统映像

    Google API英特尔x86 Atom系统映像

    Google API英特尔x86 Atom_64系统映像

    (请勿选择" Google Play ...系统映像"。这些是无法以root用户身份运行的。)

  5. 如果需要,请点击下载按钮。
  6. 完成创建新的AVD。
  7. 运行新的AVD。

答案 1 :(得分:6)

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

答案 2 :(得分:2)

转到工具-> SDK管理器-> Android SDK-现在 在第一个选项卡(SDK平台)中,首先“选择”在页面底部显示软件包详细信息。 现在,选择“ Google API Intel x86 Atom系统映像”,然后取消选择“ Google Play Intel x86 Atom系统映像”。 该模拟器不会显示“ adbd无法在生产版本中以root用户身份运行”。 Google API没有Play商店应用,而只有Play服务。