安卓可以执行linux命令吗,android程序执行shell指令是shell权限吗,如果不是该怎么用shell权限来执行可执行文件?...

/**

* 执行一个shell命令,并返回字符串值

*

* @param cmd

* 命令名称&参数组成的数组(例如:{"/system/bin/cat", "/proc/version"})

* @param workdirectory

* 命令执行路径(例如:"system/bin/")

* @return 执行结果组成的字符串

* @throws IOException

*/

public static synchronized String run(String[] cmd, String workdirectory)

throws IOException {

StringBuffer result = new StringBuffer();

try {

// 创建操作系统进程(也可以由Runtime.exec()启动)

// Runtime runtime = Runtime.getRuntime();

// Process proc = runtime.exec(cmd);

// InputStream inputstream = proc.getInputStream();

ProcessBuilder builder = new ProcessBuilder(cmd);

InputStream in = null;

// 设置一个路径(绝对路径了就不一定需要)

if (workdirectory != null) {

// 设置工作目录(同上)

builder.directory(new File(workdirectory));

// 合并标准错误和标准输出

builder.redirectErrorStream(true);

// 启动一个新进程

Process process = builder.start();

// 读取进程标准输出流

in = process.getInputStream();

byte[] re = new byte[1024];

while (in.read(re) != -1) {

result = result.append(new String(re));

}

}

// 关闭输入流

if (in != null) {

in.close();

}

} catch (Exception ex) {

ex.printStackTrace();

}

return result.toString();

}

取消

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值