Android 通过代码执行Linux 命令 echo 命令
使用安装封装 runtime
echo(new String[]{“echo 1 > /sys/bus/text”}); //调用方式
private void echo(String[] command) {
DualExecutor.getExecutorService().execute(() -> {
try {
Process process = Runtime.getRuntime().exec(“sh”);
DataOutputStream outputStream = new DataOutputStream(process.getOutputStream());
for (String tmpCmd : command) {
Log.d(TAG,“tmpCmd:”+tmpCmd);
outputStream.writeBytes(tmpCmd + “\n”);
}
outputStream.flush();
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
Log.e(TAG, “ex” + e.toString());
}
});}
使用java 封装类 ProcessBuilder
//d调用方法
String[] cmds = {“logcat”, “|”, “grep”, “test”};
onCmd(cmds);
/**
* 执行MFD 工具
*
* @param cmds
*/
private void onCmd(final String[] cmds) {
Log.e(TAG, “onCmd”);
DualExecutor.getExecutorService().execute(() -> {
ProcessBuilder processBuilder = new ProcessBuilder(cmds);
processBuilder.redirectErrorStream(true);
Process process = null;
try {
process = processBuilder.start();
printCmdLog(process.getInputStream());
process.waitFor();
} catch (Exception e) {
e.printStackTrace();
Log.d(TAG, “CMD 异常” + e.toString());
}
});
}
更多相关文章
- 【常用工具类】DensityUtils(dp px 互相转换)
- [置顶] ADA系列小工具更新公告
- android 打开不同文件工具类
- Android NDK 提供的交叉工具链手动编译源码
- android 栈方式退出
- 绑定方式开始服务&调用服务的方法
- Android 工具类的两种写法---单例模式与静态方法
- Android 编程下的日志工具类
- Android(java)时间转换星期 昨天 今天 几分钟前工具