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

新手上路,请多包涵

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

显示的错误如下:

adbd cannot run as root in production builds

我已经杀死并重新启动 adbd 就像:

 adb kill-server
adb devices

没有任何帮助,有什么想法吗?


我不确定有什么区别以及如何选择不同的构建,但是,如果在创建时启用了以下设置,那么它就有根。 在此处输入图像描述

原文由 guness 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 4.8k
2 个回答

要启用根访问权限: 选择一个未标记为“Google Play”的模拟器系统映像。 (标签文本和其他 UI 详细信息因 Android Studio 版本而异。)

例外: 截至 2020-10-08,Release R“Android TV”系统映像将不会以 root 身份运行。 解决方法: 改用 Release Q(API 级别 29)Android TV 系统映像。

测试它: 启动模拟器,然后运行 adb root 。应该说

  • restarting adbd as root

要么

  • adbd is already running as root

不是

  • adbd cannot run as root in production builds

替代测试: 运行 adb shell ,如果提示以 $ 结尾,则运行 su 。它应该显示 # 提示。

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

  1. 在 Android Studio 中,使用菜单命令 Tools > AVD Manager
  2. 单击 + 创建虚拟设备… 按钮。
  3. 选择虚拟硬件,然后单击 下一步
  4. 选择系统映像。
    • 选择目标列中 显示“(Google Play)”的任何图片。
    • 如果您依赖 Google API(Google Sign In、Google Fit 等),请选择标有“(Google API)”的图像。
    • 您可能必须从“推荐”组切换到“x86 图像”或“其他图像”组才能找到一个。
  5. 如果需要,请单击“ 下载”按钮。
  6. 完成创建新的 AVD。
    • 提示:AVD 名称以 API 级别编号开头,这样虚拟设备列表将按 API 级别排序。
  7. 启动你的新 AVD。 (您可以单击 AVD 窗口中的绿色“播放”三角形。

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

原文由 Jerry101 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果您想要 root 访问权限,则您使用的是错误的模拟器映像。如错误消息所述, 生产 构建中不允许使用 root,请改用 userdebug 构建。

原文由 Diego Torres Milano 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题