android 开发过程中程序很多时候免不了需要对系统目录下的内容进行操作,虽然android的内核是linux系统,但是在linux中切换到root下的方式是sudo root,但是在的android中并没有提供我们su文件。
So我们要向需要root的系统中添加su文件,同时改变su二进制文件的权限。

原材料

  • android 模拟器
  • supersu.apk
  • supersu.zip

步骤

步骤一

将需要root的模拟器运行起来

或者直接使用第三步启动就行,不然第二步之后,你还得把模拟器关了

步骤二

在有 supersu.apk文件的目录处执行如下命令

$ adb -e install supersu.apk
将super.apk 安装到模拟器中,安装好后不要急着运行此App

步骤三

模拟器名称可以使用 emulator -list-avds查看

$ emulator.exe -avd [模拟器名字] -writable-system

以可写的方式运行模拟器,你应该在你的sdk目录下的tools文件目录下使用这句命令,因为在这下面才有emulator.exe程序
我就被这个坑了,其实你只要配置好了adb环境,不需要这么麻烦,直接emulator -avd {name} -writable-system就行了

步骤四

将下载好的supersu.zip 文件解压,你能看到里面有很多文件夹中都包含su文件。我的模拟器模拟器是Androidx86,所以我在x86文件夹下找到su.pie文件,如果你的android版本是5.1和大于5.1版本的系统使用su.pie比su文件更合适,可以避免出现一些不必要的问题
另外x86_64就是x64,不是x86
还有如果文件夹内没有su.pie,没必要一定找那个,su也可以的,只不过优先su.pie的意思

接下来你需要如下操作

$ adb root
$ adb remount
$ adb -e push C:\SuperSU-v2.79\x86\su.pie /system/xbin/su

在root状态下 adb remount 的意思是 重新挂载系统分区,使系统分区重新可写,一般情况下system下面的文件斯不允许只读的。通过push的方式将su.pie拷贝到/system/xbin/su文件中

注意:如果你android模拟器的系统版本小于5.1你需要使用的是su的二进制文件,而不是su.pie,使用如下命令:

$ adb -e push C:\SuperSU-v2.79\x86\su /system/xbin/su

步骤五

现在我们需要获得通过adb去修改模拟器中su二进制文件的权限

$ adb -e shell
$ su root
$ cd /system/xbin
$ chmod 06755 su

如果你发现通过ls -l 看到你的su文件的权限是rwsr_x_x了说明已经成功

步骤六

现在我们需要安装su 二进制件,同时将它设置为后台守护程序

$ su --install
$ su --daemon&

步骤七

设置SELinux的限制,主要是关闭SELinux,这个命令的具体执行位置没有具体的固定,但貌似在最后执行没有什么问题

$ setenforce 0

到这里,我的android模拟器似乎已经完成的root,重新打开android模拟器,点击运行supersu程序(也就是刚才安装到你android系统中的程序),打开和可能它会提示你更新,你可以直接忽略直接使用。然后你的系统就已经完成root了,可以做一些涉及到系统的操作了。

注意

1. 如果最后点击supersu App时提示的是找不到su文件说明,你的su文件可能是不匹配,或者是因为你在没有将su文件的设置进行完整就打开了supersu App。哈哈可以尝试一下卸载supersu App,重从头开始以上的几个步骤。

2.root后的模拟器,如果是AVD Manager创建的,可能会遇到无法使用AVD Manager再次启动,此时需要使用命令启动

$ emulator.exe -avd [模拟器名字] -writable-system

没错,和 第三步 一样的。然后就是如果你命令行关闭了。。。嗯,模拟器也就关了

参考链接:

https://www.jianshu.com/p/1d3bb2c897f3

https://blog.csdn.net/LuvSnow/article/details/79963025

 

更多相关文章

  1. Android(安卓)逆向apk程序的心得
  2. Android(安卓)渗透测试学习手册(三)Android(安卓)应用的逆向和审计
  3. 最新res索引讲解(drawable、layout、values等目录的分辨率和layou
  4. Windows下的Android(安卓)SDK下载,2.2之前各个版本及Google API,文
  5. Android* 4.1.1 (Jelly Bean) x86 模拟器系统映像
  6. 懒骨头的Android文档备份2:运行你的App
  7. 谈谈android数据存储方式
  8. NPM 和webpack 的基础使用
  9. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程

随机推荐

  1. shape的使用
  2. Android(安卓)之 Gallery画廊用法
  3. Android(安卓)Activity 常用功能设置(全屏
  4. Binder解析
  5. Android(安卓)MediaRecorder录制音频
  6. 博客技术资料整理
  7. android shape的用法总结
  8. android布局属性详解分享
  9. Android入门篇一:Android(安卓)Activity生
  10. Android布局属性一览表