获取硬件信息

转载 2012年03月23日 11:32:33

 通过shell命令获取硬件信息,如硬盘使用,内存,cpu等

ShellProcessor pro = new ShellProcessor();
StringBuilder sbu = new StringBuilder();

final String[] diskCmd = {"/system/bin/df"};
String disk = pro.execute(diskCmd);
sbu.append("硬盘信息=========\n").append(disk).append("\n").append(parseDiskinfo(disk).toString()).append("\n");
						
final String[] cpuCmd = {"/system/bin/cat","/proc/cpuinfo"};
String cpu = pro.execute(cpuCmd);
sbu.append("CPU信息=========\n").append(cpu).append("\n");
			
final String[] memCmd = {"/system/bin/cat","/proc/meminfo"};
String memory = pro.execute(memCmd);
sbu.append("内存信息=========\n").append(memory).append("\n");
			
final String[] versionCmd = {"/system/bin/cat","/proc/version"};
String version = pro.execute(versionCmd);
sbu.append("OS版本===========\n").append(version).append("\n");
tv.setText(sbu.toString());

另外,在/proc/下还有其他很多有用的命令。 

 

ShellProcessor类:

import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;

import android.util.Log;

/**
 * 执行Shell脚本
 * @author QiShuang
 *
 */
public final class ShellProcessor {
	
	private ShellProcessor(){}

	/**
	 * 执行Shell脚本
	 * @param cmd String...
	 * @return
	 */
	public static String execute(String  cmd){
		String result = null;
		Process process = null;
		try {
			ProcessBuilder builder = new ProcessBuilder(cmd);
			process = builder.start();
			//操作输入流
			InputStream in = process.getInputStream();
			ByteArrayOutputStream out = new ByteArrayOutputStream();
			FileHandler.FileRWHandle.transIOStream(in, out);
			result = new String(out.toByteArray());
			//输出错误信息(如果有)
			InputStream errIn = process.getErrorStream();
			BufferedReader br = new BufferedReader(new InputStreamReader(errIn));
			String line = "";
			while ((line = br.readLine()) != null) {
				System.err.println("shell exe error: " + line);
			}
			process.waitFor();
			in.close();
			out.close();
			br.close();
		} catch (Exception e) {
			Log.e(ShellProcessor.class.getName(), "执行shell脚本出错:"+e.toString());
		} finally{
			if(process!=null)
				process.destroy();
		}
		return result;
	}
}






相关文章推荐

获取Android设备硬件信息

前些日子,自己接手专门为Android设备开发的数据恢复软件,第一次作为项目经理带队进行项目开发。 其中为了解决设备和型号的对应关系,用于区分当前接入系统的设备是USB设备,并且是Android设备...

Android客户端下个人硬件信息所需的数据获取函数(可供商业统计及精确推送用)

1)android 获取设备型号、OS版本号:    view plaincopy to clipboardprint? import android.os.Build;      //...

C++ 硬件信息 获取主板序列号

获取计算机网卡主板序列号的方法很多,这里采用的是命令行的形式获取,可以获取主板序列号,很简单,直接上代码。 【1】头文件 #if !defined(AFX_DD71A3C0_A52F_4C38_B...

C++ 硬件信息 获取网卡MAC地址

获取计算机网卡MAC地址的方法很多,这里采用的是命令行的形式获取,可以获取有线网卡与无线网卡的MAC地址,很简单,直接 上代码。 【1】头文件 #if !defined(AFX_95644697_...

Ubuntu 上获取硬件信息的几件方式

第一篇 # 作者: riku /本文采用CC BY-NC-SA 2.5协议授权 http://wowubuntu.com/hardinfo.html 在 Ubuntu 上我们可以...
  • i7366
  • i7366
  • 2012-06-07 10:13
  • 1119

mobile硬件的基本信息的获取

#pragma once #pragma comment(lib, "cellcore.lib") #include #include #include #in...

JavaScript 获取客户端计算机硬件及系统信息

JavaScript 获取客户端计算机硬件及系统信息 通过WMI来实现获取客户端计算机硬件及系统信息:  1//系统信息获取   2function getSysInfo(){   3...

C# 获取系统硬件信息

在做程序性能分析工具(profiler),需要顺便得到系统硬件的静态信息,以及实时的动态信息。部分代码如下 class HardWare { private MEMORY_I...

Java使用siger开源包获取服务器硬件信息(CPU 内存 网络 io等)

Java使用siger开源包获取服务器硬件信息(CPU 内存 网络 io等) 通过使用第三方开源jar包sigar.jar我们可以获得本地的信息 1.下载sigar.jar ...

Dmidecode: 在 Linux 下获取硬件信息

Dmidecode 这款软件允许你在 Linux 系统下获取有关硬件方面的信息。Dmidecode 遵循 SMBIOS/DMI 标准,其输出的信息包括 BIOS、系统、主板、处理器、内存、缓存等等。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)