私のドロイドで実行されている netcat の ARM バイナリを取得しようとしています。デバイスの data/local/tmp フォルダーに既に含まれています。netcat コマンドは、adb シェル経由でも機能します。
ただし、コードからコマンドを実行しようとすると、netcat が機能しなかったため、ping などの基本的なコマンドから始めることにしました。以下のコードは、電話からラップトップに ping を実行する試みです。
繰り返しますが、これはadbシェルからは機能しましたが、コードからは機能していないようです。Wireshark でキャプチャしたところ、コードが実行されたときに電話からパケットが来ませんでした。
pingが機能しない理由を誰か教えてもらえますか? その部分を修正したら、他のコマンドに移ることができます。
また、.waitFor コマンドを実行してコマンドの実行を待機しようとしましたが、Eclipse でエラーが発生します。
ありがとう
package com.maurice.netcat;
import java.io.IOException;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
public class NetcatActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView text = new TextView(this);
text.setText("Netcat");
setContentView(text);
try
{
String ping = "system/bin/ping -c 1 192.168.0.13";
Runtime.getRuntime().exec(ping);
Toast.makeText(getApplicationContext(), "In Netcat Section", Toast.LENGTH_SHORT).show();
}
catch(IOException e) {
System.out.println("Error Executing Netcat");
Toast.makeText(getApplicationContext(), "In Exception Section", Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
}
}