Android Runtime.exec(“arp”)不工作
有没有办法启动“arp”命令 我的尝试:Android Runtime.exec(“arp”)不工作,android,runtime.exec,arp,Android,Runtime.exec,Arp,有没有办法启动“arp”命令 我的尝试: Runtime rt = Runtime.getRuntime(); proc = rt .exec(“arp”)->得到了一个IOException .exec(“/proc/net/arp”)->也得到了一个IOException(通过adb shell发现存在一个/proc/net/arp) 还尝试了一种shell解决方案: String sPrefix="/system/bin/sh -c 'proc/net/arp;"; String sPo
Runtime rt = Runtime.getRuntime();
proc = rt
.exec(“arp”)
->得到了一个IOException
.exec(“/proc/net/arp”)
->也得到了一个IOException
(通过adb shell发现存在一个/proc/net/arp
)String sPrefix="/system/bin/sh -c 'proc/net/arp;";
String sPostfix="'";
Runtime rt = Runtime.getRuntime();
proc = rt.exec(sPrefix+sPostfix); // sh -c 'cd someplace; echo do something'
InputStreamReader reader = new InputStreamReader(proc.getInputStream());
BufferedReader buffer = new BufferedReader(reader);
String line = "";
while ((line = buffer.readLine()) != null) {
echo.append(line + "\n");
}
但是没有得到回报值
有人知道吗:-/?
/proc/net/arp
不是命令,而是arp表。这是一个可以读取的文本文件:
StringBuffer echo = new StringBuffer();
try {
BufferedReader br = new BufferedReader(new FileReader("/proc/net/arp"));
String line = "";
while((line = br.readLine()) != null) echo.append(line + "\n");
br.close();
}
catch(Exception e) { Log.e(TAG, e.toString()); }
表格本身具有以下格式:
IP address HW type Flags HW address Mask Device
192.168.178.21 0x1 0x2 00:1a:2b:3c:4d:5e * tiwlan0
192.168.178.34 0x1 0x2 1a:2b:3c:4d:5e:6f * tiwlan1
...
不幸的是,android的新版本(我认为4.0+)似乎不再保留这些信息。表格是空白的。