本帖最后由 小鸟子 于 2015-9-6 17:59 编辑
电视里自启动软件太多了,我呢想禁止掉一些,但是悲催的发现我的机子没有ROOT,如下图所示:
所以,问题来了当贝市场是怎么知道我的机子没有ROOT的呢?
网上查了一些资料,我才发现原来其中的玄机:
首先android系统是以linux为内核的,而用户在linux系统通过su文件(具体里面是啥咱不懂)来拥有系统的最高权限,所以andorid上也可以通过su来获得root权限。
因此Root的原理其实就是把su文件放到/system/bin/目录下,把Superuser.apk (起到一个管理权限的作用)放到system/app下面,然后设置下su文件可以让任意用户可运行,也就是有ROOT权限啦。
当然执行上面几步动作也是需要root权限的,也就是需要root权限才能去获得root权限,具体怎么跳出这个死循环来获得真正的root权限我们以后再说。
上面都搞定了以后,我们的当贝市场就开始发功了:
当贝市场会检测/system/bin/目录下面是不是有su这个文件,代码呢是这样的:
File su = new File("/system/bin/su"); // 检测su文件是否存在,如果不存在则直接返回 if (!su.exists()) { Toast toast = Toast.makeText(this, "Unable to find /system/bin/su.", Toast.LENGTH_LONG); toast.show(); return; }
检测到有了su文件之后还要检测su文件的数据大小对不对: //如果大小一样,则认为su文件正确,直接返回了事。 if (su.length() == suStream.available()) { suStream.close(); return; // } 对的话就是说明机子是真的root了的,然后当贝市场就执行禁止自启动的操作了~~
然而上面操作都建立在root成功的基础上,下面就提供一个教程,列举了root常用的软件,希望对大家有用哦:
电视、盒子怎么root?几种root软件汇总
|