Android用のJavaプログラムを介していくつかのシェルコマンドを実行したかった. アプリはコマンドを受け取ってシェルで実行し、結果を返すだけです。
私はこれを使用しました:
プロセス p=Runtime.getRuntime().exec(in); p.waitFor();
BufferedReader リーダー = new BufferedReader(new InputStreamReader(p.getInputStream()));
文字列 line=reader.readLine();
出力 = 行;
while(line!=null) {
output = output +"\n"+ line; //System.out.println(line);
line=reader.readLine();
}
"in" はテキスト ボックスからの入力です。
1> Android の一部として提供されるコマンドのほとんどは、上記のステートメントで機能することがわかりました。しかし、他のLinuxコマンドも取得するためにbusyboxをインストールしました。しかし、これらのコマンドはどれも実行されていません。NULL の結果を返すたびに。/system/xbinと/system/binの両方にbusyboxをインストールしました(/systemパーティションを読み取り/書き込みとして再マウントした後)
2> 次に、ls /sdcard のような特定の場所で ls を実行すると、コマンドとして /sdcard が使用されます。ただし、 ls -l は機能します(空白が問題を引き起こしていると思われる場合に備えて)
私を助けてください