ADB root无法在模拟器上运行

gun*_*ess 39 android root adb android-emulator

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

显示的错误如下:

adbd cannot run as root in production builds

我杀了并重新开始adbd像:

adb kill-server
adb devices
Run Code Online (Sandbox Code Playgroud)

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


我不确定有什么区别以及如何选择不同的构建,但是,如果在创建时启用了以下设置,则它具有root权限.在此输入图像描述

Jer*_*101 116

[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.

  • su给我“ su:未找到” (4认同)
  • 如何安装“Google APIs Intel x86 Atom System Image”? (2认同)
  • @RoniCastro 我添加了执行此操作的步骤。 (2认同)

Die*_*ano 8

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

  • @guness在"选择系统图片页面"上您需要从SECOND选项卡中选择"Android XX(Google API)"图片,而不是从第一个标签中选择"Android XX(GooglePlay)"图片,这是选中的内容默认情况下. (14认同)
  • @Merk:我想在模拟器中运行 Playstore,并且还希望 root 能够用于研究目的。有什么办法解决这个问题吗?到目前为止,我唯一的解决方案是一台带有 Playstore 的 root 设备。 (5认同)