Android Runtime.exec(“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

有没有办法启动“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 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+)似乎不再保留这些信息。表格是空白的。