几乎万能的安卓root方法,需adb能获取root权限(小白教小白)_adb 如何root_ZLDXXS的博客-程序员宅基地

技术标签: root  SuperSU  adb  Android  

此文章部分摘自 bingoCoder2013的博客
最近闲着没事,平常也喜欢搞搞机,搞机过程中遇到需要root权限是很麻烦的,各大root软件没有适配就无法root,现在有了一点收获,也是整理网上各大论坛出来的,用adb安装SuperSU。
我的环境: 瑞芯微RK3368 / Android 7.1.2 / SuperSU-v2.82-201705271822

1.必要前提

  • adb驱动,adb工具包(推荐到adbshell.com下载)
  • adb可以临时获取root权限(也可利用RageAgainstTheCage漏洞,本人没有太多了解,在这不予介绍)
  • SELinux可关闭(没有具体试过不关闭的后果,具体方法请看 坛内博客 bingoCoder2013
  • SuperSU Recovery刷机包

2.步骤

  • a.安装adb
    • Step 1 下载adb驱动,并安装
    • Step 2 下载adb工具包,是一个压缩格式。解压到任意目录即可
  • b.准备安装
    • Step 3 解压SuperSU文件到任意目录
    • Step 4 在SuperSU根目录(含有common等目录)下新建文本文档,并重命名为root.bat(只要是批处理文件即可,点号前的文件名随意)
    • Step 5 右键root.bat,选择编辑,并将脚本复制进去,需注意复制后会有多出来的文字,请自行删除
  • c.准备手机硬件
    • Step 6 打开手机USB调试(在设置开发者选项里,打开USB调试。没有开发者选项需在关于手机里多次点击版本号,回到主界面就有了。这里的操作不一定一样,每种手机会有一定差异)
    • Step 7 用数据线连接电脑(尽量采用USB2.0和主机背板插口)
  • d.电脑开始安装
    • 运行root.bat脚本即可

3.脚本

由于我也还是小白,没什么说的,直接上脚本
注意: 脚本变量需安照自己机型来修改,如

set CPU_TYPE=arm64
set LIB_FORDER=lib64

这两行CPU_TYPE变量和LIB_FORDER变量需要自行修改
例如我是arm64的CPU架构,系统lib文件夹是lib64,则我CPU_TYPE=arm64,LIB_FORDER=lib64
不了解自己架构的可以在百度上找搜索自己的机型

set CPU_TYPE=arm64
set LIB_FORDER=lib64

adb wait-for-device
adb root
adb remount
adb shell setenforce 0
adb push common/Superuser.apk /system/app/SuperSU/SuperSU.apk 
adb shell chmod 0644 /system/app/SuperSU/SuperSU.apk 
adb shell chcon u:object_r:system_file:s0 /system/app/SuperSU/SuperSU.apk 

adb shell "echo >> /system/bin/install-recovery.sh"
adb shell "echo '# Disable SELINUX & Run SuperSU deamon' >> /system/bin/install-recovery.sh"
adb shell "echo '/system/xbin/daemonsu --auto-daemon &' >> /system/bin/install-recovery.sh"
adb shell chmod 0755 /system/bin/install-recovery.sh

adb push %CPU_TYPE%/su /system/xbin/su 
adb shell chmod 0755 /system/xbin/su 
adb shell chcon u:object_r:system_file:s0 /system/xbin/su 

adb push %CPU_TYPE%/su /system/bin/.ext/.su 
adb shell chmod 0755 /system/bin/.ext/.su 
adb shell chcon u:object_r:system_file:s0 /system/bin/.ext/.su 

adb push %CPU_TYPE%/su /system/xbin/daemonsu 
adb shell chmod 0755 /system/xbin/daemonsu 
adb shell chcon u:object_r:system_file:s0 /system/xbin/daemonsu 

adb push %CPU_TYPE%/supolicy /system/xbin/supolicy 
adb shell chmod 0755 /system/xbin/supolicy 
adb shell chcon u:object_r:system_file:s0 /system/xbin/supolicy 

adb push %CPU_TYPE%/libsupol.so /system/%LIB_FORDER%/libsupol.so 
adb shell chmod 0755 /system/%LIB_FORDER%/libsupol.so 
adb shell chcon u:object_r:system_file:s0 /system/%LIB_FORDER%/libsupol.so 

如需深入了解SuperSU的原理,可在网上自行查找,或去SuperSU的官网找说明

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ZLDXXS/article/details/88082691

智能推荐

7-1 找第k小的数 (20 分)_7-1 找第k小的数-程序员宅基地

设计一个平均时间为O(n)的算法,在n(1<=n<=1000)个无序的整数中找出第k小的数。提示:函数int partition(int a[],int left,int right)的功能是根据a[left]~a[right]中的某个元素x(如a[left])对a[left]~a[right]进行划分,划分后的x所在位置的左段全小于等于x,右段全大于等于x,同时利用x所在的位置还..._7-1 找第k小的数

瀑布式迭代与敏捷-程序员宅基地

在采用敏捷开发的实践当中,有一种特别的开发过程,他融合了瀑布模型和迭代的思维,但又与敏捷的思维存在差异,我把这种过程称之为瀑布式迭代。 瀑布式迭代过程总体上采用迭代的方式,即像敏捷一样,以迭代为单位逐渐推进,每个迭代以启动会、迭代活动、迭代总结为全过程,并且每个迭代都会交付产出物。唯一不同的是单独看一个迭代过程,会发现其采用了瀑布流程。 在一个迭代周期内,首先是产品_瀑布式迭代

GDB调试之TUI界面_arm-none-eabi-gdb enable tui-程序员宅基地

TUI(TextUserInterface)为GDB调试的文本用户界面,可以方便地显示源代码、汇编和寄存器文本窗口,TUI使用效果如下图所示。Tui界面可以通过运行gdbtui或gdb-tui命令进入(其它变种gdb也一样,如arm-none-eabi-gdb-tui),当然也可以进入gdb界面后使用TUI快捷键打开,如C-xC-a快捷键,详见TUI快捷键绑定章节。1 TUIO..._arm-none-eabi-gdb enable tui

使用神经网络和遗传算法玩转 Flappy Bird-程序员宅基地

摘要: 本文展示了针对Flappy Bird游戏设计的机器学习算法。本实验的目标是使用神经网络和遗传算法编写一个人工智能游戏控制器,打出游戏最高分,不服的来挑战! 我们创建一个人工智能机器人,它能够学习如何把Flappy Bird这个游戏玩出最高分。这样,我们的小鸟就能安全地飞过一些障碍物了...

XPages Extension Library Deployment in Domino 8.5.3 and IBM XWork Serve-程序员宅基地

http://www-10.lotus.com/ldd/ddwiki.nsf/dx/XPages_Extension_Library_DeploymentXPages Extension Library Deployment in Domino 8.5.3 and IBM XWork Server Abstract Abstra

由springcloud ribbon的 @LoadBalanced注解的使用理解-程序员宅基地

在使用springcloud ribbon客户端负载均衡的时候,可以给RestTemplate bean 加一个@LoadBalanced注解,就能让这个RestTemplate在请求时拥有客户端负载均衡的能力: @Bean @LoadBalanced RestTemplate restTemplate() { return new RestTemplate()

随便推点

Spring使用中中文乱码的情况-程序员宅基地

相信大伙用Java开发项目的时候,首先会用到Spring框架,也遇到各种问题,各种坑。下面 我就列举几个有关于使用Spring过程中关于 中文乱码的情况及解决办法,希望帮助到初学Spring的小伙伴页面显示中文乱码<form action="${ctx}/submit" metho...

对SQL简单介绍、数据库、表的简单操作_sql简要回答表,数据、实体-程序员宅基地

1.SQL语句简单介绍:SQL(结构化查询语言(Structured Query Language))包含6个部分(数据查询语言DQL、数据操作语言DML、数据定义语言DDL、事务处理语言TPL、数据控制语言DCL、指针控制语言CCL),在Java中常用的有三种,DQL、DML、DDL:一:数据查询语言(DQL):其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应_sql简要回答表,数据、实体

入门 11 - DataSource注入-程序员宅基地

对于不同的数据库存取需求,我们使用JDBC来解决这个问题,对于不同的数据连接来源需求,Spring则提供了DataSource注入,更换数据来源只要在Bean定义文件中修改配置,而不用修改任何一行程序。 因应不同的系统,应用程序可能使用不同的数据来源,但如纯綷的使用 JDBC、透过连接池、或是透过JNDI等等,数据来源的更动是底层的行为,不应影响到上层的业务逻辑,为此,您可以在需要取..._单元测试怎么注入 datasource

嵌入式裸机课程之ARM体系结构复习笔记-程序员宅基地

注:如下内容以朱老师物联网大讲堂裸机课课件为基础第1节 可编程器件的编程原理1.1 电子器件的发展方向模拟器件 -> 数字器件ASIC -> 可编程器件ASICASIC是Application Specific Integrated Circuit的英文缩写,在集成电路界被认为是一种为专门目的而设计的集成电路。可编程器件早期的可编程逻辑器件只有可编程只读存贮器(PROM)、紫外线可按除只读存贮器(EPROM)和电可擦除只读存贮器(EEPROM)三种。由于结构的限制,它们只能完成

精妙SQL语句:复制表,拷贝表,外连接查询等-程序员宅基地

说明:复制表(只复制结构,源表名:a 新表名:b)  SQL: select * into b from a where 1  说明:拷贝表(拷贝数据,源表名:a 目标表名:b)   SQL: insert into b(a, b, c) select d,e,f from b;   说明:显示文章、提交人和最后回复时间   SQL: select a.title,a.user

HTML网页设计水平线像素,在 HTML中,下面( )标签可以实现在页面上显示一个水平线 。...-程序员宅基地

【单选题】接收者的情绪会对接收到的信息进行加工和扭曲。【单选题】20 、( )指工程对象的所有施工过程同时投入作业的一种施工组织方式。 A 、顺序施工 B 、间断施工 C 、平行施工 D 、流水施工【多选题】设计人是设计组织的细胞,其主要作用包括( )【判断题】工程单价合同估算价在300万元的,不必非要进行招标【多选题】人生价值实现的必备要素是()【单选题】关于原始细胞的一般形态特征,错误的是【判..._his doubts about her suitability for the position soon melted ________ w