实际上是利用"adb root"命令获取的root权限进行进一步操作。

我使用的设备和软件

电视盒子(移动魔百盒CM201z(Android版本:5.1))

手机(小米9(Android版本:10,已获取 root 权限))

软件:MT管理器(修改脚本|自带终端,需要获取root权限),ADB工具安装器(在已root的Android手机上安装adb,需要获取root权限),SuperSU压缩包(可以去官网下载)

 

历程

在用手机通过adb连接电视盒子后,我意外发现运行’adb root‘命令之后电视盒子居然可以使adb以root运行,那么这就获取了最高权限了。

然后我上网查找能通过adb来获取root的方法,最后在CSDN论坛上找到了脚本。

于是我修改和调试脚本,在手机终端上执行脚本之后重启盒子就可以使用SuperSU来授权root权限。

下面是原帖部分内容的截图。

AndroidManifest 机顶盒开发 安卓机顶盒root教程_工具安装

 

效果

下面是root之后的效果。

AndroidManifest 机顶盒开发 安卓机顶盒root教程_root权限_02

root授权界面

 

 

AndroidManifest 机顶盒开发 安卓机顶盒root教程_电视盒子_03

 “SuperSU”软件界面

 

AndroidManifest 机顶盒开发 安卓机顶盒root教程_电视盒子_04

“极客内存清理”应用界面

 

详细操作 *在操作之前请确认 在执行“adb connect xxxxxxx:5114”命令成功连接电视盒子之后,再执行“adb root”命令,检查adb是否以root模式执行,如果不是,则此方法对于您的设备不起作用。这可以在"ADB工具安装器"主界面中点击“运行命令”按钮来测试,因为下列操作要在这个基础上执行。

  1. 在手机上安装"MT管理器" "ADB工具安装器" 和 SuperSU安装包。
  2. 在手机上打开"ADB工具安装器",授予root权限。进入主界面后点击“安装”按钮,显示“成功”之后可执行下一步。这一步为手机安装了adb。
  3. 在手机上打开"MT管理器",授予root权限。找到下载的SuperSU安装包,将其解压到存储目录下的任意文件夹,这里我将文件解压到了“/storage/emulated/0/getroot/SuperSU-v2.82-201705271822/”路径下。
  4. 在刚刚解压好的目录下创建一个脚本文件,我将它命名为“root.rc”,点击这个文件,在弹出的窗口中点击“编辑”,这里我在里面输入以下代码,然后保存并退出。
set CPU_TYPE=armv7
set LIB_FORDER=lib

adb connect 192.168.1.3:5114 #这一行代码用来连接电视盒子,端口号必须为5114;ip可能不同,需要自行修改
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 /storage/emulated/0/getroot/SuperSU-v2.82-201705271822/armv7/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 /storage/emulated/0/getroot/SuperSU-v2.82-201705271822/armv7/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 /storage/emulated/0/getroot/SuperSU-v2.82-201705271822/armv7/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 /storage/emulated/0/getroot/SuperSU-v2.82-201705271822/armv7/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 /storage/emulated/0/getroot/SuperSU-v2.82-201705271822/armv7/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
  1. 点击脚本文件,在弹出的窗口中点击“执行”,然后静静等待终端执行完成。如果脚本在执行过程中出现错误,请尝试逐步排查该脚本文件各条命令是否正确。

AndroidManifest 机顶盒开发 安卓机顶盒root教程_root_05

  1. 以上步骤完成后,重启电视盒子,开机之后就可以使用SuperSU软件给其他应用程序授予root权限了。

注意

  • 由于我是第一次写博客,本文中有些表述可能不完整、不准确甚至出现错误,请对这篇文章保持怀疑精神
  • 可能有些情况下单靠智能盒子的遥控器无法完成某些操作,需要外接鼠标或其他帮助操作的工具
  • 理论上只要和我情况类似,并且执行 ‘adb root’ 后不会出错,此方法通用于相似设备
  • 可以使用电脑来替代手机完成以上操作,需要在电脑上安装好adb,具体看原帖(在下面)

 

借鉴