Android官方模拟器root,Android Studio 自带模拟器获取root权限

准备工作

http://www.supersu.com/download

从这里下载SuperSU.apk和SuperSU-v2.82-201705271822.zip

我下载的是2.8.2版本。

一、以可写方式启动模拟器

打开命令行,进入模拟器目录,以可写方式启动模拟器

#进入模拟器目录

$ cd /Users/lfy/Library/Android/sdk/emulator/

#查看avd列表

$ ./emulator -list-avds

#我这里只有这一个

Pixel_XL_API_23

开启模拟器

$ ./emulator -avd Pixel_XL_API_23 -writable-system

#回车后会有一条警告,无视即可

emulator: WARNING: System image is writable

如果出现警告,说明成功。

二、安装SuperSU.apk

进入到刚才下载的SuperSU.apk

执行如下命令安装:

$ adb -e install SuperSU.apk

如果出现类似下面的提示,说明安装成功:

SuperSU.apk: 1 fi.... 184.7 MB/s (6581871 bytes in 0.034s)

pkg: /data/local/tmp/SuperSU.apk

Success

三、向系统添加su文件

找到下载的SuperSU-v2.82-201705271822.zip,解压缩,根据自己的模拟器平台类型,选择对应的文件夹。

比如我的是x86,就选择x86文件夹内的su文件。

平台类型可以从模拟器管理器看到

31fd1d8fa8a6

平台类型

依次执行下列命令,将su文件写入进去

如果是Android 4.1及以上,需要用su.pie文件,不能用su文件。

$ adb root

adbd is already running as root

$ adb remount

remount succeeded

$ adb -e push su.pie /system/xbin/su

adb: error: cannot stat 'su.pie': No such file or directory

$ ls

libsupol.so su suinit sukernel supolicy

$ adb -e push su /system/xbin/su

su: 1 file pushed. 25.3 MB/s (104680 bytes in 0.004s)

四、修改su文件权限

$ adb -e shell

root@generic_x86:/ # su root

root@generic_x86:/ # cd /system/xbin

root@generic_x86:/system/xbin # chmod 06755 su

root@generic_x86:/system/xbin # ls -l

如果是下面的结果则表示成功修改权限:

-rwsr-sr-x root shell 104680 2019-02-29 10:33 su

五、安装su并设置后台驻留

# su --install

# su --daemon&

#如果出现类似下面的提示则成功

[1] 4323

最后执行:

$ setenforce 0

注:

root后无法通过Avd manager进行启动,需要使用命令行启动

emulator -avd Pixel_XL_API_26 -writable-system

Android Studio中,模拟器默认情况下是没有root权限的,这是为了防止非法的修改和操作。然而,对于某些开发和测试的需求,我们需要在模拟器获取root权限。以下是一种方法来模拟器获取root权限。 首先,在模拟器启动之前,我们需要在创建模拟器的时候选择一个系统映像,这个映像必须支持root权限。我们可以选择一些第三方映像,如Genymotion。通过使用Genymotion,我们可以在启动模拟器时选择一个root 版本的映像。 其次,在选择了合适的模拟器映像之后,我们需要稍微调整一下模拟器的设置。打开模拟器后,进入设置,找到开发者选项,然后打开USB调试选项。这个选项通常是隐藏的,需要点击多次“版本号”才能显示出来。确保USB调试选项已经打开。 最后,我们需要在电脑上安装一个adb(Android Debug Bridge)工具。使用adb可以与模拟器进行通信,并发送shell命令。我们可以在终端中使用adb命令来获取root权限。首先,连接模拟器到电脑上,通过运行命令“adb devices”来确认连接。然后,运行命令“adb -s emulator-5554 root”,其中“emulator-5554”是模拟器的ID。这个命令将会给模拟器发送一个root权限的请求,在成功后,我们就可以在终端中使用root权限来执行一些操作。 需要注意的是,获取模拟器root权限是一种高级操作,需要谨慎使用。对于正常的开发和测试需求,通常并不需要获取root权限
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值