一、为什么要获取Root权限呢
目前手机一般都不开放Root(超级管理员)权限,主要是基于安全等考虑,担心一些非法手机App获取Root权限后,对手机肆意操作,损害用户利益。Android手机是基于Linux系统的,获取Root权限,就是获取Linux root用户的权限。那么,一般哪些用户会想要获取Root权限呢:
1.软件开发者
软件开发者在开发手机App过程中,会要求查看或修改手机的一些关键信息,如访问“/dev”、“/system/bin”目录等,这样就要求获取Root权限,不过他们一般都有专用的开发手机,是自动有Root权限的。
2.手机控
另有一些手机控,希望能对手机进行更好的控制,比如删除一些手机系统自带的应用、安装的一些应用不定时启动占内存及耗电、更换系统字体/背景、更换启动Logo、将手机刷一个更好用的ROM等,若想对安装的应用进行控制,减少系统占用,需要安装“冰箱”等App(需要root权限),将应用进行冻结,使用时可打开,使用完成后就自动冻结,不会总弹出消息或在后台启动。
注:获取root权限技术性还是比较强的,不建议一般用户进行操作,若需要获取root权限,建议找专业人士解决哈。
二、流程
获取解锁码(从手机官方申请解锁码或从淘宝花钱获取,华为手机为16位数字)
↓
手机解锁(通过fastboot命令或工具软件,解锁后root启动区、recovery区、system系统区即可进行更新)
↓
刷入Root文件(通过fastboot命令或工具软件,使手机Linux支持root命令)
↓
手机安装Root应用程序(Superuser.apk,使手机开放root权限)
↓
安装其它需要Root的应用(如“冰箱.apk”)
上述流程是适合专业人士操作,一般用户不建议按上述操作,若要尝试,建议手机下载一键Root应用(如:百度一键root/ROOT大师/KingRoot Pro/一键Root精灵),运行应用,直接一键获取Root权限,简单可靠,若一个应用不行,可以多试几个应用,若还无法获取Root权限,找专业人士解决哈。
三、常见概念解释
手机文件存储结构
手机 电脑
+--------------------------------+
| bootloader引导区 | BIOS
+--------------------------------+---> fastboot线刷模式
| boot启动区 | recovery恢复区 | MBR硬盘引导区
+-------------+------------------+---> recovery恢复界面
| system系统区 | 系统文件(Windows, Program Files等目录)
+--------------------------------+---> 手机界面(如EMUI) Windows界面
手机启动过程
手机开机,bootloader引导区程序代码执行,对硬件进行必要的初始化和检测错误,若启动时没有参数则正常启动,加载boot启动区程序代码执行,再加载system系统区程序代码执行,显示手机图形界面,即可正常使用(一般各个手机厂商有自己的定制界面,如小米MIUI、华为EMUI)。
若启动时有相应的参数,则进入fastboot线刷模式或recovery恢复界面。
fastboot线刷模式,手机上一般没有操作界面,手机连接电脑,通过电脑上fastboot命令或工具软件为手机进行解锁、更新系统文件、更新系统文件等。
recovery恢复界面,手机上有操作界面,可以直接在手机上操作更新系统文件、更新系统文件、清除数据等(要更新的文件需要先拷贝到手机指定目录)。一般对手机系统熟悉的,可以采用fastboot线刷模式用电脑进行操作,不太熟悉的,建议采用手机recovery界面进行操作。
手机与电脑USB线连接
1.手机打开调试模式
打开手机,在首页找到“设置”点击,点击“开发者选项”,勾选“usb调试”,允许“usb调试”确定。
如果没有“开发者选项”菜单,可点击“通用”,点击“关于手机”,找到“版本号”连续点击6次,这样开发者选项就激活可用了。
2.电脑安装驱动程序
一般将手机与电脑通过USB连线连接后,会自动安装驱动程序,也可通过华为手机助手等工具安装驱动。
3.连接USB线
将手机与电脑USB通过USB线连接起来,最好用原装USB线,有些充电USB不好用会造成无法连接。
4.手机端确诊连接
连接后,手机端会弹出“是否允许访问设备数据?”对话框,点击“是”确定即可。另外手机端会提示是否XXX电脑访问手机,点确定即可。
5.连通测试
5.1 命令行测试
打开CMD命令窗口,进入ADB所在目录,输入命令adb devices,若显示“List of devices attached”不为空,则为连接成功。
adb devices
- daemon not running. starting it now on port 5037 *
- daemon started successfully *
List of devices attached
GSLDU16B03001104 device
若连接不成功,可检查前面几项是否正确,再次运行“adb kill-server”、“adb devices”试试,再不行,将手重启一下。
5.2 采用界面工具测试
可采用华为手机助手等工具测试,点击连接设备,即可,连接成功后有提示,且能列出手机上的内容。
手机解锁
1. 命令行方式
- 手机与电脑连接正常
- 通过手机官方获取解决码或通过淘宝收费获取,假设解锁码为1234567812345678
- 运行命令
fastboot oem unlock 1234567812345678 // 解锁
fastboot oem get-bootinfo // 查看当前锁状态
2. 界面方式
刷入Root文件
该操作将手机linux的root命令刷入手机系统中。
1. 命令行方式
adb push D:EMUIopenrecoveryscript /cache/recovery/
将ROOT包复制到手机储存中
adb push D:EMUIROOT.zip /cache/update.zip
执行以下命令将手机重启到Recovery模式
adb reboot recovery
进入recovery模式后,系统会自动执行脚本刷入ROOT包,静静的等待手机重启
2. 界面方式
adb Android调试桥(adb)
Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。adb 命令可用于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。
简单的话,adb工具就是可能通过电脑与手机连接,并通过电脑发送命令对手机进行存取或对手机进行修复。比如手机变砖了、白屏了,无法使用了,这时就可以通过adb工具,进入fastboot线刷模式,重新刷入系统就可以正常使用了。
adb常用命令
adb devices // 查看连接的手机
adb shell // 登录手机Linux的shell
adb push <本地路径> <远程路径> // 从电脑上发送文件到手机
adb pull <远程路径> <本地路径> // 从设备上下载文件到电脑
启 動和关閉
adb start-server // 在电脑启动服务程序方便与手机通讯(一般不单独用,运行其它adb命令会自动启动,如adb devices)
adb kill-server // 在电脑结束服务程序(一般不单独用)
adb reboot // 重启手机
adb bootloader|recovery // 重启手机进入线刷模式或恢复模式
fastboot常用命令
fastboot devices // 查看连接的手机
fastboot update <文件名>// 更新手机系统文件
fastboot flashall // 更新引导、系统、恢复区等
fastboot reboot // 重启手机
fastboot reboot-bootloader // 重启手机到线刷模式
fastboot oem unlock <解锁码> // 解锁手机
fastboot oem relock <解锁码> // 重新加锁手机
fastboot oem get-bootinfo // 查看当前锁状态
adb shell常用命令
pwd // 查看当前路径
ls // 列出当前目录下文件
ls -l // 列出当前目录下文件的详细信息
whoami // 显示当前登录用户名(一般为shell)
pm list packages // 列出当前安装包
pm list permission-groups
pm list libraries
pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] [-s] [-f] PATH
pm uninstall [-k] PACKAGE
dumpsys activit
dumpsys window
dumpsys window windows
dumpsys window tokens
dumpsys window sessions
dumpsys window policy
dumpsys window input
dumpsys statusbar
dumpsys notification
dumpsys package [
dumpsys location
dumpsys alarm
dumpsys connectivity
dumpsys wifi
其它
- 可参考:android 常用adb 和 adb shell 命令 获取root权限
-
[文件下载,链接:https://pan.baidu.com/s/1UT2A... 提取码:ynss]
- adb驱动安装工具 // adb驱动安装,需要使用线刷及adb命令的要先安装驱动
- adb&fastboot // adb执行及fastboot执行文件,运行Windows进入命令窗口,再切换到该目录,即可使用这二个命令
- 华为工具箱.exe // 图形界面,连接手机、重启到fastboot、重启到Recovery、解锁bootloader、刷写recovery、驱动下载
- [华为手机助手]hisuite_4.0.4.300.exe // 图形界面,连接手机、手机联系人/图片/应用管理、数据备份、数据恢复、系统更新、系统修复、刷机
- Honor8_EMUI_ROOT // 适用于华为荣耀8的手机linux root命令及超级用户安装包
- WinHex.exe // 可显示二进制文件内容,可用于显示手机上文件内容
- MoGuRomZS_10.1.1508.04_ // 蘑菇ROM助手,解压、打包ROM的IMG文件
- 荣耀工具箱V1.5 // 图形界面,连接手机、重启到fastboot、重启到Recovery、解锁bootloader、刷写recovery等
可参考:Android 调试桥 (adb)
可参考:什么是adb工具?怎么用?
华为手机的解锁码存于手机文件中(/dev/block/platform/hi_mci.0/by-name/nvme),若能获取到,则可用WinHex打开查看获取。但一般没有root手机,也无法查看,采用adb shell连接时用户为shell,没有权限查看“/dev”等目录文件内容,也无法新增、删除文件。
手机文件目录:
ls
3rdmodem charger data mnt res sys
3rdmodemnvm config dev oem root system
3rdmodemnvmbkp cust etc patch sbin vendor
acct cust_comm fstab.hi3650 proc sdcard version
bugreports cust_spec hw_oem product splash2
cache d log property_contexts storagels system
app emui fake-libs64 lang media tts xbin
bin etc fonts lib priv-app usr
build.prop extras framework lib64 rfs vendor
cameraplugins fake-libs global lost+found system watermarkls system/app
BaiduInput_for_Huawei HwMultiScreenShot
BasicDreams HwOUC
Bluetooth HwParentControl
BluetoothMidiService HwPayService
Calculator HwPowerGenieEngine3
CaptivePortalLogin HwProjectMenu
CertInstaller HwPushService
CotaDecompressService HwResolver
CtsShimPrebuilt HwSecureIME
DownloadProviderUi HwSecurityMgrService
FindMyPhone HwSoundRecorder
GoogleExtShared HwSpeechService
GooglePrintRecommendationService HwThemeManager
HTMLViewer HwTrustAgent
HWCardManager HwTrustSpace
HiBoard HwUserExperience
HiLinkSvc HwVideoEditor
HwARService HwWiFiDirect
.....