android 调用 su 指令

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


阅读更多
上一篇c# sftp 库 ssh.net, sharpssh
下一篇lua 的坑
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭