【问题标题】:How to Root an Android Emulator?如何root安卓模拟器?
【发布时间】:2016-05-06 16:01:28
【问题描述】:

我知道周围有很多这样的问题,但似乎没有一个真正适合我。

我正在编写一个自动更新和安装的程序,但是要安装更新它需要用户确认,但我不希望这样,因为我将部署的设备永远不会被任何人实际使用。因此,为了解决这个问题,我想根设备并在代码中使用运行时命令来让它安装。

为了测试这一点,我想先在 (AVD) 模拟器上尝试它,但它(显然)需要被植根。那我该怎么办呢?

我已经尝试过 adb shell 中的命令(以及 adb shell 中的命令),例如:

mount -o rw,remount -t yaffs2 /dev/block/mtdblock03 /system  
push su /system/xbin/su  
chmod 06755 /system  
chmod 06755 /system/xbin/su

还有一些其他的我现在找不到了,但他们总是会给我错误,比如 cannot stat 'su' 和类似的东西(如果我能找到命令并重新创建,将会编辑)或者他们只是什么都不说,它似乎不起作用。

如果它有助于我在 Visual Studio 中使用 xamarin。

【问题讨论】:

标签: android adb emulation root


【解决方案1】:

使用安卓模拟器时,只需:

  • adb.exe root - 以 root 权限重新启动 adbd
  • adb.exe unroot - 在没有 root 权限的情况下重新启动 adbd

您可以在以下位置找到 adb.exe:android_sdk\platform-tools\

您可以通过以下方式确认设备是否已root:

adb.exe shell

在 shell 里面输入:whoami。然后输入exit 退出shell

示例

P:\Android\sdk\platform-tools>adb.exe shell
generic_x86:/ $ whoami
shell
generic_x86:/ $ exit

P:\Android\sdk\platform-tools>adb.exe root

P:\Android\sdk\platform-tools>adb.exe shell
generic_x86:/ # whoami
root
generic_x86:/ # exit

P:\Android\sdk\platform-tools>adb.exe unroot

P:\Android\sdk\platform-tools>adb.exe shell
generic_x86:/ $ whoami
shell
generic_x86:/ $ exit

【讨论】:

  • 在生根后它仍然显示为shell,我在 Windows 10 上,在我的 AVD 上运行 Noughat
  • 您是否尝试以管理员身份运行 cmd.exe?可能有帮助
  • 抱歉,我不知道会发生什么。对我来说,上述步骤确实适用于谷歌的原始模拟器。
  • @Madeyedexter 这发生在您身上,因为您正在运行的模拟器是具有 Playstore 的模拟器。运行没有Play商店的设备。它会生根。
  • 有没有办法通过 play store 版本获得 root 访问权限?
【解决方案2】:

您可以使用https://www.genymotion.com/。默认情况下,创建的所有设备都已植根。例如启动一个设备然后输入adb shell command。它将打开一个有根的 shell。

【讨论】:

  • 虽然它简化了一些事情,但它需要与他们的服务建立有效的连接和帐户。以及需要 vbox 带来的更多系统开销。从某种意义上说,它也不是植根于需要 root 的应用程序可以像人们期望的那样从“root”电话获得访问权限。此外,shell 中的 su 文件系统命令似乎与 OP 提到的尝试 chmod 等没有任何不同的结果。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-08
相关资源
最近更新 更多