2015-02-23 32 views
1

我目前使用下面的代碼來獲取有關活動網絡套接字的一些信息。到目前爲止,我已經證實這適用於Nexus 4(果凍豆),Nexus 5(豆豆,KitKat和Lollipop)以及Sony Xperia設備(Jellybeans)。「netstat」命令是否可以在Android上使用?

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設備上正常工作嗎?

回答

4

Android shell命令大部分都可以在設備上的/ system/bin文件夾中找到。 Vanilla Android使用包含netstat的FreeBSD Toolbox,但我不確定是否可以100%確定它始終存在,因爲OEM有時會附帶不同的工具。這裏是包含在工具箱中的工具圖:

FreeBSD Toolbox diagram

你可以在source香草Android的,看看有什麼附帶的版本。但正如我所說的,每個製造商在每個設備上附帶的內容可能存在差異。

+0

我不假設你知道任何有關哪些主要設備(如果有)具有這些功能缺失的數據的地方? – Saran 2015-02-23 22:19:26

+0

沒有抱歉沒有看到這樣的名單。我可以想象大多數設備都會有它,因爲這是一個非常基本的工具。 – Hrafn 2015-02-23 22:30:22

+0

我會補充說有些設備與BusyBox捆綁在一起,它包含netstat:http://www.busybox.net/downloads/BusyBox.html – Hrafn 2015-02-24 10:10:20

相關問題