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());
}
});

}
發佈了24 篇原創文章 · 獲贊 11 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章