ADB root 不能在模拟器上工作(不能 运行 作为生产构建中的 root)
ADB root is not working on emulator (cannot run as root in production builds)
我刚刚更新了模拟器 26.0.3,现在我无法对新创建的模拟器执行 运行 adb root
命令。
显示的错误如下:
adbd cannot run as root in production builds
我已经杀死并重新启动 adbd
喜欢:
adb kill-server
adb devices
没有任何帮助,有什么想法吗?
我不确定有什么区别以及如何 select 不同的构建但是,
如果在创建时启用了以下设置,则它有根。
如果您想要 root 访问权限,则您使用了错误的模拟器映像。如错误消息所述,production 构建中不允许使用 root,请改用 userdebug 构建。
要启用 root 访问权限: 选择一个未标记为“Google Play”的模拟器系统映像。 (标签文本和其他 UI 详细信息因 Android Studio 版本而异。)
异常: 自 2020 年 10 月 8 日起,R 版“Android 电视”系统映像将不会 运行 作为 root。 解决方法:改用 Release Q(API 级别 29)Android 电视系统图像。
测试它:启动模拟器,然后运行adb root
。应该是
restarting adbd as root
或
adbd is already running as root
没有
adbd cannot run as root in production builds
备选测试:运行adb shell
,如果提示以$
结尾,运行su
.它应该显示 #
提示符。
步骤: 安装和使用可以 运行 作为 root 的模拟器映像:
- 在 Android Studio 中,使用菜单命令 工具 > AVD 管理器.
- 单击 + 创建虚拟设备... 按钮。
- Select虚拟硬件,然后点击下一步。
- Select 一个系统映像。
- 选择任何在“目标”列中不说“(Google 播放)”的图像。
- 如果您依赖 Google APIs(Google 登录、Google 合身等),请选择标有“(Google APIs)".
- 您可能需要从“推荐”组切换到“x86 图像”或“其他图像”组才能找到一个。
- 如果需要,请单击下载 按钮。
- 完成创建新的 AVD。
- 提示:AVD 名称以 API 级别编号开头,因此虚拟设备列表将按 API 级别排序。
- 启动您的新 AVD。 (您可以点击AVD中的绿色“play”三角window。
[信用属于@Merk,但这应该作为答案而不是评论发布。]
转到工具 -> SDK 管理器 -> Android SDK -- 现在
在第一个选项卡(SDK 平台)中,首先“select”在页面底部显示包详细信息。
现在 Select “Google APIs Intel x86 Atom System Image” 和 unselect “Google 播放 Intel x86 Atom 系统映像”。
此模拟器不会显示“adbd 不能 运行 作为生产构建中的根目录”。
Google API 没有 Play 商店应用,只有 Play 服务。
我遇到了这样的问题,因为由于某种原因它是在 build.gradle
文件 release
构建模式中默认设置的。此模式不允许以根用户身份与虚拟设备通信。必须启用调试模式
buildTypes {
release {
signingConfig signingConfigs.debug
}
}
改为
buildTypes {
debug{
debuggable true
}
}
然后在AVD Manager
我删除并重新创建了一个新的虚拟设备。重新启动,一切正常,root 权限可用。
我遇到了同样的问题并通过以下方式解决了:
第一件事:转到工具 => Android => SDK 管理器 => Android SDK --In(SDK 平台)。 Select“Google APIs Intel x86 Atom System Image”并且不select“Google Play Intel x86 Atom System Image”。
第二件事:创建一个新的模拟器“不要 select Google Play Store”。
我刚刚更新了模拟器 26.0.3,现在我无法对新创建的模拟器执行 运行 adb root
命令。
显示的错误如下:
adbd cannot run as root in production builds
我已经杀死并重新启动 adbd
喜欢:
adb kill-server
adb devices
没有任何帮助,有什么想法吗?
我不确定有什么区别以及如何 select 不同的构建但是,
如果在创建时启用了以下设置,则它有根。
如果您想要 root 访问权限,则您使用了错误的模拟器映像。如错误消息所述,production 构建中不允许使用 root,请改用 userdebug 构建。
要启用 root 访问权限: 选择一个未标记为“Google Play”的模拟器系统映像。 (标签文本和其他 UI 详细信息因 Android Studio 版本而异。)
异常: 自 2020 年 10 月 8 日起,R 版“Android 电视”系统映像将不会 运行 作为 root。 解决方法:改用 Release Q(API 级别 29)Android 电视系统图像。
测试它:启动模拟器,然后运行adb root
。应该是
restarting adbd as root
或
adbd is already running as root
没有
adbd cannot run as root in production builds
备选测试:运行adb shell
,如果提示以$
结尾,运行su
.它应该显示 #
提示符。
步骤: 安装和使用可以 运行 作为 root 的模拟器映像:
- 在 Android Studio 中,使用菜单命令 工具 > AVD 管理器.
- 单击 + 创建虚拟设备... 按钮。
- Select虚拟硬件,然后点击下一步。
- Select 一个系统映像。
- 选择任何在“目标”列中不说“(Google 播放)”的图像。
- 如果您依赖 Google APIs(Google 登录、Google 合身等),请选择标有“(Google APIs)".
- 您可能需要从“推荐”组切换到“x86 图像”或“其他图像”组才能找到一个。
- 如果需要,请单击下载 按钮。
- 完成创建新的 AVD。
- 提示:AVD 名称以 API 级别编号开头,因此虚拟设备列表将按 API 级别排序。
- 启动您的新 AVD。 (您可以点击AVD中的绿色“play”三角window。
[信用属于@Merk,但这应该作为答案而不是评论发布。]
转到工具 -> SDK 管理器 -> Android SDK -- 现在 在第一个选项卡(SDK 平台)中,首先“select”在页面底部显示包详细信息。 现在 Select “Google APIs Intel x86 Atom System Image” 和 unselect “Google 播放 Intel x86 Atom 系统映像”。 此模拟器不会显示“adbd 不能 运行 作为生产构建中的根目录”。 Google API 没有 Play 商店应用,只有 Play 服务。
我遇到了这样的问题,因为由于某种原因它是在 build.gradle
文件 release
构建模式中默认设置的。此模式不允许以根用户身份与虚拟设备通信。必须启用调试模式
buildTypes {
release {
signingConfig signingConfigs.debug
}
}
改为
buildTypes {
debug{
debuggable true
}
}
然后在AVD Manager
我删除并重新创建了一个新的虚拟设备。重新启动,一切正常,root 权限可用。
我遇到了同样的问题并通过以下方式解决了:
第一件事:转到工具 => Android => SDK 管理器 => Android SDK --In(SDK 平台)。 Select“Google APIs Intel x86 Atom System Image”并且不select“Google Play Intel x86 Atom System Image”。
第二件事:创建一个新的模拟器“不要 select Google Play Store”。