android 调用 su 指令

Android ROOT权限获取
本文介绍如何在Android系统中获取ROOT权限。主要讨论了system/xbin下的su程序,并解释了普通APP如何通过替换系统su程序来实现ROOT。同时,提供了SuperSU作为实现方案的例子。
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.youkuaiyun.com/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


### 如何在 Android 设备上使用第三方应用程序实现 su 命令或获取 root 权限 #### 使用第三方应用获取 Root 权限 对于希望在其 Android 设备上获得更高控制权的用户来说,可以通过一些专门设计用于解锁这些额外功能的应用程序来达成目的。一种常见的方式是利用一键 root 工具,这类工具能够简化整个过程,使大多数用户无需深入了解技术细节即可完成操作[^1]。 然而值得注意的是,这种方法可能会伴随一定的风险,比如预装不必要的广告软件等问题。因此建议使用者谨慎评估利弊后再做决定。 #### 执行需要 Root 权限的操作 当设备已经被成功赋予了超级用户权限后,任何想要调用 Linux 命令的应用都必须先请求并得到 `su` 许可才能继续运行敏感指令。这一步骤是为了保护系统安全性和稳定性而设置的重要屏障之一。但在实际开发过程中发现,在不同型号的硬件平台上有时会发生兼容性问题,导致即使正确输入了命令也无法正常工作的情况发生[^2]。 为了确保顺利执行涉及根级别的任务,开发者应当注意以下几点: - **环境配置**:确保工作目录和环境变量被适当地初始化; - **错误处理机制**:加入必要的异常捕获逻辑以便及时发现问题所在; - **测试覆盖范围**:尽可能多地尝试多种类型的终端以验证通用性; ```java try { Process process = Runtime.getRuntime().exec("su"); DataOutputStream os = new DataOutputStream(process.getOutputStream()); // 发送具体要执行的 shell 指令到具有管理员身份的进程中去 os.writeBytes(command + "\n"); os.flush(); } catch (IOException e) { Log.e(TAG, "Failed to execute command with SU permissions", e); } ``` #### 华为手机特定情况下的 Root 方法 针对华为品牌的移动产品而言,虽然官方并不鼓励私自修改操作系统的核心部分,但仍存在合法途径让用户自行探索更多可能性。例如,某些教程提供了详细的指导说明帮助拥有 P8 系列机型的人们顺利完成这一目标。不过需要注意的是,每款新发布的机器可能都会有所变化,所以最好查找最新的资料来进行参考[^3]。 #### 注意事项 在整个过程中有几个方面值得特别关注: - 安全隐患:取得完全访问权限的同时也意味着更容易受到恶意攻击的影响; - 法律责任:非法篡改受版权保护的内容违反法律法规; - 保修条款失效:许多制造商会在检测到此类改动后拒绝提供售后服务;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值