原文出处: http://blog.csdn.net/steelychen/article/details/40744305
亲,还在为自己编写的应用如何获取Root权限而苦恼吗,还在为网上提供千千万万(有点夸张)的解决办案而不能解决你的问题而苦恼吗。福音来啦,花一分钟看完这篇文章你会觉得原来只需一个jar包即可以实现。 当然这得在你的设备已经Root了的情况下使用。
jar包导入工程
1. 在Eclipse中左右你的项目选择Build Path -> config build path
2. 选择add External Jar 后选择RootTools.jar 文件。
点我可找到RootTools.jar的下载地址
3. 再之后选择Order and Export 保证刚才加进来的jar文件已经被选中,并将它移到顶端。注意右边的菜单有一个top的按钮,按它就可以移到顶端了
检查root权限
if (RootTools.isRootAvailable()) {
// su exists, do something
} else {
// do something else
}
if (RootTools.isAccessGiven()) {
// your app has been granted root access
}
补充说明一个root权限下静默安装的示例
String commandStr = "pm install -r your_apk_path";
Command command = new Command(0,commandStr){
@Override
public void commandCompleted(int id, int exitCode) {
//命令执行完成后会调用此方法
}
@Override
public void commandOutput(int id, String line) {
//命令执行的过程中会执行此方法,line参数可用于调试
}
@Override
public void commandTerminated(int id, String reason) {
//命令被取消后的执行此方法
}
};
try {
RootTools.getShell(true).add(command);
} catch (IOException e) {
e.printStackTrace();
} catch (TimeoutException e) {
e.printStackTrace();
} catch (RootDeniedException e) {
e.printStackTrace();
}
是的,你没有看错,就是这么简单。