申请root权限

 1 public boolean getRootPermission(String pkgCodePath) {
 2         Log.d(TAG, "pkgCodePath=" + pkgCodePath);
 3         Process process = null;
 4         DataOutputStream os = null;
 5         try {
 6             String cmd = "chmod 777 " + pkgCodePath;
 7             process = Runtime.getRuntime().exec("su"); //切换到root帐号
 8             os = new DataOutputStream(process.getOutputStream());
 9             os.writeBytes(cmd + "\n");
10             os.writeBytes("exit\n");
11             os.flush();
12             process.waitFor();
13         } catch (Exception e) {
14             Toast.makeText(this, "root error!" + pkgCodePath, Toast.LENGTH_SHORT).show();
15             e.printStackTrace();
16             return false;
17         } finally {
18             try {
19                 if (os != null) {
20                     os.close();
21                 }
22                 process.destroy();
23
24
25             } catch (Exception e) {
26             }
27         }
28         Toast.makeText(this, "root success!" + pkgCodePath, Toast.LENGTH_SHORT).show();
29         return true;
30     }

getRootPermission

然后在 想申请root的地方   执行方法

getRootPermission(getPackageCodePath());

静默安装  卸载 

参考 http://www.2cto.com/kf/201503/381170.htmlhttp://ju.outofmemory.cn/entry/108796
时间: 2024-11-05 22:05:49

申请root权限的相关文章

Android应用申请ROOT权限

runtime = Runtime.getRuntime(); 这句话在java中的效果为获取电脑终端,比如在window下面就是dos窗口, 如: runtime.exec("color 2D") 与直接在dos下面直接输入color 2D的效果一样. 在安卓中相当于获取到Linux终端. 要让Android应用获得Root权限,首先Android设备必须已经获得Root权限. 应用获取Root权限的原理:让应用的代码执行目录获取最高权限.在Linux中通过chmod 777 [代码

Android Studio模拟器的root权限

前言 一个安卓练习中用自带的sqlite3数据库查看数据的时候,需要通过adb shell进入/data/data/[包名]/databases/目录中,通过查看创建的数据库来查看相应的数据或者表.起初是打算在实机上进行测试的,在这里提一句,如果在实机上测试,则手机必须具有root最高权限.但是由于自己用的是华为手机,如果需要root的话,必须需要到官网上去申请解锁码才能利用一键root工具来root,总之非常麻烦,而且刷机也不能保证一定成功,所以考虑再三决定使用Android Studio中的

linux下添加用户并赋予root权限

1.添加用户,首先用adduser命令添加一个普通/系统用户,命令如下:# adduser [-r] –d /tommy tommy//添加一个名为tommy的用户 # passwd tommy   //修改密码Changing password for user tommy.New UNIX password:     //在这里输入新密码Retype new UNIX password:  //再次输入新密码passwd: all authentication tokens updated

转adb Shell root 权限

因为开发需要,我经常会用到adb这个工具(Android Debug Bridge),我们都知道adb shell默认是没有root权限的,修改系统文件就很不方便了,adb push一个文件就提示Permission Denied.删除system下的文件也没有权限.其实有两种方法可以获取adb shell的root权限,这两种方法的前提都是手机已经root. 1.用su可以提权,直接执行su就会看到用户命令提示符由"$"变成了"#",如果手机没有root,会提示s

linux 让普通用户拥有root权限

测试环境:CentOS 6.5 1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户 #passwd tommy //修改密码 Changing password for user tommy. New UNIX password: //在这里输入新密码 Retype new UNIX password: //再次输入新密码 passwd: all authentication tokens updated succe

php利用root权限执行shell脚本 (转)

转一篇博客,之前搞这个东西搞了好久,结果今天晚上看到了一篇救命博客,瞬间开心了...转载转载 利用sudo来赋予Apache的用户root的执行权限,下面记录一下: 利用PHP利用root权限执行shell脚本必须进行以下几个步骤:(所有步骤都是我亲自实验,若有不妥可指出,谢谢!) 1. 确定一下你的Apache的执行用户是谁.注:不一定就是nobody,我自行安装的httpd,我的Apache的用户就是daemon 2. 利用visudo为你的Apache执行用户赋予root执行权限,当然还有

CentOS下添加用户并且让用户获得root权限

修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示: ## Allow root to run any commands anywhereroot    ALL=(ALL)     ALLtom   ALL=(ALL)     ALL 修改完毕,现在可以用tom帐号登录,然后用命令 su - ,即可获得root权限进行操作. ---------------------------------------------------------------------

Redhat 赋于 root 权限的三种方法

方法一: 修改/etc/sudoers 文件,找到下面一行,把前面的注释(#)去掉? ## Allows people in group wheel to run all commands %wheel ALL=(ALL) ALL? 然后修改用户,使其属于root组(wheel),命令如下:? #usermod -g root tommy 修改完毕,现在可以用tommy帐号登录,然后用命令su – ,即可获得root权限进行操作. ? ? 方法二: 修改/etc/sudoers 文件,找到下面一

linux下如何添加一个用户并且让用户获得root权限

转自:http://blog.sina.com.cn/s/blog_6fc583e70100n6rm.html 测试环境:CentOS 5.5 1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户 #passwd tommy //修改密码 Changing password for user tommy. New UNIX password: //在这里输入新密码 Retype new UNIX password: /