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


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值