android 下,su chomd 666/777 root权限代码方式申请
2016-12-27 15:09
369 查看
文件/目录权限设置命令:chmod
这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限。该命令有两种用法: 用包含字母和操作符表达式的文字设定法 其语法格式为:chmod [who] [opt] [mode] 文件/目录名 其中who表示对象,是以下字母中的一个或组合: u:表示文件所有者 g:表示同组用户 o:表示其它用户 a:表示所有用户 opt则是代表操作,可以为: +:添加某个权限 -:取消某个权限 =:赋予给定的权限,并取消原有的权限 而mode则代表权限: r:可读 w:可写 x:可执行 例如:为同组用户增加对文件a.txt的读写权限: chmod g+rw a.txt 用数字设定法 而数字设定法则更为简单:chmod [mode] 文件名 关键是mode的取值,一开始许多初学者会被搞糊涂,其实很简单,我们将rwx看成二进制数,如果有则有1表示,没有则有0表示,那么rwx r-x r- -则可以表示成为: 111 101 100 再将其每三位转换成为一个十进制数,就是754。 例如,我们想让a.txt这个文件的权限为: 自己 同组用户 其他用户 可读 是 是 是 可写 是 是 可执行 那么,我们先根据上表得到权限串为:rw-rw-r--,那么转换成二进制数就是110 110 100,再每三位转换成为一个十进制数,就得到664,因此我 们执行命令: chmod 664 a.txt
// 以上参考自:http://blog.csdn.net/love_xsq/article/details/50134961
也就是说 chmod 后面的三个十进制的数字 实际上是三个命令转换得到的二进制。
相信能够读到这篇博客的朋友都是在获取root权限或者获取读写权限遇到了问题。下面给出获取某个文件的root权限的代码部分:
Process su = Runtime.getRuntime().exec("/system/xbin/su"); // 如果写bin成功也可以的,su在这两个文件夹中存在。bin目录下是软啥的,忘记了在其他一些技术博客上看到的
String cmd = "chmod 666 " + yourFile.getAbsolutePath() + "\n" + "exit\n"; // 一定要注意空格,及\n等,不要落下
su.getOutputStream().write(cmd.getBytes()); // 有了这句才是获取su权限
模拟器我不知道,真机获取的情况是这样的:
4.2.1是没有问题的,会弹出申请root权限的对话框。而4.3以上系统的手机是不会出现任何提示的,也就是说API18及以上是不会轻易的让你得到root权限的。怎么办呢?
请跳转这位博客大牛:http://blog.csdn.net/kangear/article/details/51872653
相关文章推荐
- Android应用向su申请root权限,以及Superuser进行授权管理的原理浅析
- android 代码创建快捷方式
- android 2种切换语言方式:应用内切换和随系统而切换 代码实现重启应用
- Android代码添加快捷方式与删除快捷方式
- [代码片段] 【转】Android以最省内存的方式读取本地资源的
- Android代码中实现WAP方式联网
- android上代码去执行"su"命令
- Android 如何在java层代码里运行具有root权限的Linux shell命令
- 最简洁的方式(最少的代码)在Android上实现IOS的switch button
- android两种方式实现发送短信的功能代码
- svn代码合并方式、Android中关于时间、Svn环境配置、eclipse多个插件安装
- Android网络通信的六种方式示例代码
- Android网络通信的六种方式示例代码
- android发送HTTP请求代码,以GET方式发送。
- Android google map apiv2的最新申请密钥方式
- Android应用程序获取ROOT权限代码
- 让应用程序申请root权限的代码
- Android代码中实现WAP方式联网
- Android解析XML(PULL方式)和JSON 工作原理和实现过程(详细代码)
- Google Maps API 申请方式变更为APIs Console, android手机申请方式