Я пытаюсь запустить двоичный файл netcat для ARM на моем дроиде. Он уже содержится в папке data/local/tmp на устройстве. Команды netcat также работают через оболочку adb.
Однако, когда я пытался выполнять команды из кода, netcat не работал, поэтому я решил начать с базовой команды, такой как ping. Мой код ниже — это попытка пропинговать мой ноутбук с телефона.
Опять же, это работало из оболочки adb, но, похоже, не работает из кода. Я захватил wireshark, и при запуске кода с телефона не пришло ни одного пакета.
Кто-нибудь может сказать мне, почему не работает пинг? Как только я исправлю эту часть, я смогу перейти к другим командам.
Кроме того, я пробовал команду .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();
}
}
}