您的位置:首页 > 移动开发 > Android开发

android 调用 su 指令

2016-04-27 13:38 387 查看
private void doSU() {

try {

Process process = Runtime.getRuntime().exec("su");// (这里执行是系统已经开放了root权限,而不是说通过执行这句来获得root权限)

DataOutputStream os = new DataOutputStream(process.getOutputStream());

os.writeBytes("exit\n");

os.flush();

//如果已经root,但是用户选择拒绝授权,e.getMessage() = write failed: EPIPE (Broken pipe)

//如果没有root,,e.getMessage()= Error running exec(). Command: [su] Working Directory: null Environment: null

} catch (IOException e) {

e.printStackTrace();

}

}
http://blog.csdn.net/jdsjlzx/article/details/41046251
Android system/xbin 下的 su 是系统原生带的 su 程序,只给有 system 和 shell 用户使用,普通app 无法访问。

要使普通 APP 也能 su ,就要替换系统的 su 程序,有专门的,比如 SuperSU:
http://forum.xda-developers.com/apps/supersu/2014-09-02-supersu-v2-05-t2868133
参考 APP: https://github.com/Chainfire/libsuperuser
参考 文档: http://su.chainfire.eu/
Android ROOT 原理参考:http://www.juapk.com/thread-2000-1-1.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: