さて、タイトルはそれを言います、しかし問題はこれです:
動作するかどうかを確認するコマンドを含む.shファイルがありますsu touch /sdcard/test.txt
。しかし、ユーザーがアプリをインストールするときにそれを含める方法がわかりません。どうすれば追加できますか?私は次のようなものを使用することを考えました:
su
touch /sdcard/folder/path/test.sh
vi /sdcard/folder/path/test.sh
esc
そこに.shファイルを作成しますが、ファイルの実行方法を知るためにキーを送信する方法がわかりません:wq
。はい、私の電話はルート化されています。apkがインストールされたときにそれを含める方法や、コマンドesc
を完了するためにキーを送信する方法を知る必要がありvi
ます。
ありがとう
編集:私はという.sh
ファイルtest.sh
を作成し、rootユーザー向けのアプリを作成しました。このtest.sh
ファイルtouch /sdcard/test.txt
は、私のJavaコードが機能するかどうかを確認するだけです。ボタンが1つあるシンプルなアプリを作成し、そのボタンをクリックすると次のようになります。
test.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
try
{
Process proc = Runtime.getRuntime().exec(new String[] {"su","-c","sh ./path where .sh will be/test.sh"});
proc.waitFor();
}
catch (Exception ex)
{
String TAG = null;
Log.i(TAG, "Doesn't work", ex);
}
}
});
しかし、ファイルを追加する方法や場所がわからないtest.sh
ため、ユーザーがアプリをインストールするとファイルがそこにあります。含めてみました
Process proc = Runtime.getRuntime().exec(new String[] {"su","-c","touch /sdcard/prueba.sh ; vi /sdcard/prubea.sh ; ****Don't know how to edit, use ESC key and :wq****});
proc.waitFor();
ボタンをクリックすると、vi
コマンドが終了するのを待ってアプリが実行され続けますが、実行するには押す必要があるため、方法がわかりません...これで明確esc
になることを願っています:wq