编程技术分享平台

网站首页 > 技术教程 正文

Android如何调用root执行的系统命令

xnh888 2024-12-16 17:05:18 技术教程 21 ℃ 0 评论

先说诉求:如何在Android代码中调用root权限执行一些命令。我想执行下系统内存回收,比如我想执行echo 1 > /proc/sys/vm/drop_caches


private int exeSuCmd() {
    String mycmd = "chmod -R 777 /dev/ttyGS0";
    int result = -1;
    DataOutputStream dos = null;
    try {
        System.out.println("---lzg lt");
        Process p = Runtime.getRuntime().exec("su");
        dos = new DataOutputStream(p.getOutputStream());
        dos.writeBytes(mycmd + "\n");
        dos.flush();
        dos.writeBytes("exit\n");
        dos.flush();
        p.waitFor();
        result = p.exitValue();
        System.out.println("---lzg result=" + result);//0--yes,1--no
    } catch (Exception e) {
        e.printStackTrace();
        System.out.println("---lzg e=" + e.getMessage());
    } finally {
        if (dos != null) {
            try {
                dos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    return result;
}

chmod -R 777 /dev/ttyGS0

这里你可以改成我们需要的echo 1 > /proc/sys/vm/drop_caches

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表