나는 어떻게 그것을 할 것을 시도하고이 명령 여기안드로이드 getRuntime() 간부 인() 고양이 명령을
/sdcard/file1.mpg /sdcar/file2.mpg > /sdcard/out.mpg
을 실행하는 프로세스 클래스이다 사용하고 있습니다 :
Process processx = Runtime.getRuntime().exec(new String[] {"cat","/sdcard/file1.mpg /sdcard/file2.mpg > /sdcard/out.mpg" });
BufferedReader in = new BufferedReader(new InputStreamReader(processx.getInputStream()));
String line = null;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
// Waits for the command to finish.
processx.waitFor();
명령 터미널에서 작동하지만 위를 시도 할 때, 왜 아무도 볼 수 있습니까?
Java에서 할 수있는 것을 실행하기 위해 실행 파일을 실행하지 않는 것에 동의하지 않았지만, android에 'cp'바이너리가 없습니다. - 누군가가 실행 파일 (예 : adb 쉘 또는 해킹 된 기기에서 루트 도우미 프로세스를 시작할 때) 리디렉션과 함께 cat을 사용합니다. –
OK AlexR, 파일을 연결하는 순수한 자바 접근 방식을 시도 할 것입니다. 프로세스 클래스를 사용하여/data/data/myapp의 일부 바이너리를 실행하고 자연스럽게/맹목적으로 내가 cat과 같은 파일을 실행했기 때문입니다. 이것도 – brux
안드로이드 셸에는 cp가 없습니다. 확실히 고양이와 함께해야합니다. 그래서. – totten