Genymotion 设备中授予Root权限的方法探讨

27次阅读
没有评论

问题描述

在使用 Genymotion 虚拟设备(如 Nexus9 API 23 和 S8 API 24)时发现,这些设备没有 Superuser 应用程序。在这种情况下,通过 whoami 命令查询到当前用户是 root,但仍然无法为应用程序提供 root 权限。

解决方案

方案1:尝试使用开发者选项中的相关设置

请注意,在操作前确保了解这些安全设置的风险,并做好相应的备份工作。

虽然问题中提到已经检查了链接并确认没有找到有效的解决方案。但是,还是可以尝试以下方案:

步骤1:启用Genymotion设备的Developer Options

  • 打开 Genymotion 应用程序。
  • 单击设备名称旁的三个点图标以展开操作菜单。
  • 选择 More actions -> Settings
  • 然后勾选 Show Developer选项(仅开发人员)
  • 完成设置后,重启虚拟设备。

步骤2:启用Root权限

  • 在虚拟设备中打开系统设置。
  • 滑动找到“关于手机”并连续点击“版本号”七次。
  • 返回设置菜单,进入开发者选项。
  • 再次滑动至底部查找并启用 USB调试命令行root

步骤3:尝试通过特定脚本或应用获取Root权限

部分Genymotion的虚拟设备可能会预装了能够提供Root权限的应用程序,可以再次检查设备中是否有这样的应用程序,并尝试使用它们来获取Root访问。

方案2:通过adb shell获取临时root权限

如果上述方法不起作用,还可以考虑通过ADB(Android Debug Bridge)工具在命令行中获取临时的root权限。具体操作如下:

步骤1:安装Genymotion和ADB软件并启用设备

确保Genymotion已正确运行,并且能够识别所选虚拟机。同时在电脑上安装ADB相关工具。

步骤2:使用adb shell命令尝试获取Root访问

  • 在命令行中切换到adb目录(通常是Android SDK工具目录)。
  • 执行以下命令连接到虚拟设备:
    bash
    adb connect <Genymotion 设备IP地址>
  • 确保连接成功后,继续在命令行执行:
    bash
    adb shell
    busybox su -c 'busybox chmod 666 /dev/pts/*'

步骤3:尝试运行root检查命令

一旦获取了足够权限,在shell中可以尝试以下常用命令来确认是否获得了Root权限:

whoami

如果输出为 root,则表明当前session具有足够的root权限。

总结

根据上述方案所进行的测试和设置,有可能可以帮助你获得所需的root权限。需要注意的是,Genymotion某些版本可能存在限制或差异性问题,需耐心尝试不同的解决方案并逐步排查具体原因。

希望以上方法能够对你有所帮助!如果仍然存在问题,请考虑查看官方文档或社区论坛寻找更具体的解答。

正文完