是' netstat' Android上通用的命令?

时间:2015-02-23 18:46:23

标签: android netstat

我目前使用以下代码获取有关活动网络套接字的一些信息。到目前为止,我已经确认这适用于Nexus 4(Jellybeans),Nexus 5(Jellybeans,KitKat和Lollipop)以及Sony Xperia设备(Jellybeans)。

Process process = Runtime.getRuntime().exec("netstat -n");
process.getOutputStream().close();
BufferedReader reader = new BufferedReader(
        new InputStreamReader(process.getInputStream()));

String line;
while ((line = reader.readline()) != null) {
    // Parse line for required info
}

reader.close();

我可以依靠上面的代码在大多数真实的Android设备上正常运行吗?

1 个答案:

答案 0 :(得分:5)

Android shell命令大多数位于设备的/ system / bin文件夹中。 Vanilla Android使用包含netstat的FreeBSD工具箱,但我不确定你是否可以100%确定它始终存在,因为OEM有时会附带不同的工具。以下是工具箱中包含的工具图表:

FreeBSD Toolbox diagram

您可以查看source for vanilla Android,了解哪些版本附带什么版本。但正如我所说,每个制造商随每个设备提供的内容可能存在差异。