안드로이드 자바소스를 이용한 adb shell이 안됩니다.
글쓴이: rpit1412 / 작성시간: 목, 2013/04/04 - 6:02오후
안녕하세요(__)
소스를 이용해서 adb shell로 명령어를 입력하려고 하는데요
각종 인터넷들 찾아보니까
Runtime.getRuntime().exec(cmd)를 이용하는방법도있고
ProcessBuilder를 이용하는 방법도 있던데요
일단 간단하게 어플로 만들어서 해당 명령이 동작하는지 확인 되면
오픈소스에 있는 프레임워크 파일에 해당 명령어들을 심으려고 하고 있습니다.
(ip route add 같은거로 커맨드 입력)
근데 그전에 저 두가지 명령어 둘다 먹히지 않는 상황인데요
public class MainActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button1 = (Button) findViewById(R.id.button1); button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { try { String cmd = "dmesg > /sdcard/ABC.txt"; Process p = Runtime.getRuntime().exec(cmd); p.waitFor(); } catch (IOException e) { } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); }
일단 버튼을 눌러 아무거나 명령을 넣어서 변화를 볼수있는게 로그를 파일로 출력하는걸로 해보려 하는데
동작이 먹히지를 않네요..
혹시 이 과정에서 퍼미션으로 들어가야 한다거나 그런게 있을까요?
조언 부탁드립니다.
넣어도 안되네용..ㅠㅠ
Forums:
일단 adb shell dmesg가 작동하는지
일단 adb shell dmesg가 작동하는지 확인해보셔야 할 것 같고,
/system/bin/dmesg > /sdcard/ABC.txt 명령을 쓰거나, 리다이렉트 방법 대신에 getInputStream()을 쓴 후에 /sdcard/foobar.txt로 저장해보시는게 나을 것 같군요.
댓글 달기