package cm.android.util;
import android.content.Context;
import android.util.DisplayMetrics;
import cm.java.cmd.Shell;
public class SystemInfoUtil {
// @Override
// public void onCreate(Bundle savedInstanceState) {
// super.onCreate(savedInstanceState);
// setContentView(R.layout.main);
// TextView txt = (TextView) findViewById(R.id.txt);
// txt.setBackgroundColor(0xffffffff);
// txt.setTextColor(0xff0000ff);
// // txt.setText(getSystemProperty());//显示系统属性
// // txt.setText(getMemoryInfo(this));//显示内存信息
// // txt.setText(getVersionInfo());//显示系统版本信息
// // txt.setText(getCPUInfo());//显示CPU信息
// // txt.setText(getDiskInfo());//显示盘符信息
// // txt.setText(getDmesgInfo());//显示dmesg信息
// // txt.setText(getNetConfigInfo());//显示网络设置信息
// // txt.setText(getNetStatusInfo());//显示网络状态信息
// // txt.setText(getMountInfo());//显示Mount信息
// txt.setText(getTelStatus(this));//显示电话网络信息
// }
/**
* System Property文件为:<br/>
* 1./default.prop <br/>
* 2./system/build.prop <br/>
* 3./system/default.prop <br/>
* 4./data/local.prop <br/>
* 属性信息按照上面的顺序被加载。后加载的属性会覆盖前面的属性值(注:当属性名称相同的时候)。当上面加载完成后,最后加载的是驻留属性,保存在/data
* /property文件中。<br/>
* 详见:http://blog.csdn.net/jerryutscn/archive/2010/04/24/5519423.aspx
*/
public static String getSystemProperty() {
StringBuilder strBuf = new StringBuilder();
strBuf.append("java.vendor.url="
+ System.getProperty("java.vendor.url") + "\n");
strBuf.append("java.class.path="
+ System.getProperty("java.class.path") + "\n");
strBuf.append("user.home=" + System.getProperty("user.home") + "\n");
strBuf.append("java.class.version="
+ System.getProperty("java.class.version") + "\n");
strBuf.append("os.version=" + System.getProperty("os.version") + "\n");
strBuf.append("java.vendor=" + System.getProperty("java.vendor") + "\n");
strBuf.append("user.dir=" + System.getProperty("user.dir") + "\n");
strBuf.append("user.timezone=" + System.getProperty("user.timezone")
+ "\n");
strBuf.append("path.separator=" + System.getProperty("path.separator")
+ "\n");
strBuf.append("os.name=" + System.getProperty("os.name") + "\n");
strBuf.append("os.arch=" + System.getProperty("os.arch") + "\n");
strBuf.append("line.separator=" + System.getProperty("line.separator")
+ "\n");
strBuf.append("file.separator=" + System.getProperty("file.separator")
+ "\n");
strBuf.append("user.name=" + System.getProperty("user.name") + "\n");
strBuf.append("java.version=" + System.getProperty("java.version")
+ "\n");
strBuf.append("java.home=" + System.getProperty("java.home") + "\n");
return strBuf.toString();
}
// 直接复制的反编译结果,未整理。
public static String getDisplayMetrics(Context context) {
DisplayMetrics displaymetrics1 = context.getApplicationContext()
.getResources().getDisplayMetrics();
int i = displaymetrics1.widthPixels;
int j = displaymetrics1.heightPixels;
float f = displaymetrics1.density;
float f1 = displaymetrics1.xdpi;
float f2 = displaymetrics1.ydpi;
String s = String.valueOf("");
StringBuilder stringbuilder = (new StringBuilder(s))
.append("The absolute width:");
String s1 = String.valueOf(i);
String s2 = String.valueOf(stringbuilder.append(s1).append("pixels\n")
.toString());
StringBuilder stringbuilder1 = (new StringBuilder(s2))
.append("The absolute heightin:");
String s3 = String.valueOf(j);
String s4 = String.valueOf(stringbuilder1.append(s3).append("pixels\n")
.toString());
StringBuilder stringbuilder2 = (new StringBuilder(s4))
.append("The logical density of the display.:");
String s5 = String.valueOf(f);
String s6 = String.valueOf(stringbuilder2.append(s5).append("\n")
.toString());
StringBuilder stringbuilder3 = (new StringBuilder(s6))
.append("X dimension :");
String s7 = String.valueOf(f1);
String s8 = String.valueOf(stringbuilder3.append(s7)
.append("pixels per inch/n").toString());
StringBuilder stringbuilder4 = (new StringBuilder(s8))
.append("Y dimension :");
String s9 = String.valueOf(f2);
return stringbuilder4.append(s9).append("pixels per inch\n").toString();
}
public static String getVersionInfo() {
// String args = "cat /proc/version";
// String[] args = new String[]{
// "cat", "/proc/version"
// };
// return CmdExecute.exec(args);
return Shell.exec("cat /proc/version");
}
public static String getCpuInfo() {
String args = "cat /proc/cpuinfo";
return Shell.exec(args);
// String[] cmd = new String[]{
// "cat", "/proc/cpuinfo"
// };
// return CmdExecute.exec(cmd);
}
public static String getDiskInfo() {
return Shell.exec("df");
// String[] args = {"/system/bin/df"};
// return CmdExecute.run(args, "/system/bin/");
// String[] cmd = new String[]{
// "df"
// };
// return CmdExecute.exec(cmd);
}
public static String getDmesgInfo() {
return Shell.exec("dmesg");
// String[] args = {"/system/bin/dmesg"};
// return CmdExecute.run(args, "/system/bin/");
// String[] cmd = new String[]{
// "dmesg"
// };
// return CmdExecute.exec(cmd);
}
public static String getNetConfigInfo() {
// String[] args = {"/system/bin/netcfg"};
// return CmdExecute.run(args, "/system/bin/");
// String[] cmd = new String[]{
// "netcfg"
// };
// return CmdExecute.exec(cmd);
return Shell.exec("netcfg");
}
public static String getNetStatusInfo() {
// String[] args = {"/system/bin/netstat"};
// return CmdExecute.run(args, "/system/bin/");
// String[] cmd = new String[]{
// "netstat"
// };
// return CmdExecute.exec(cmd);
return Shell.exec("netstat");
}
public static String getMountInfo() {
// String args = "mount";
// String[] args = new String[]{
// "mount"
// };
// return CmdExecute.exec(args);
return Shell.exec("mount");
}
public static String getDumpsysMeminfo(String packageName) {
// String args = "dumpsys meminfo " + packageName;
// String[] args = new String[]{
// "dumpsys", "meminfo", packageName
// };
// return CmdExecute.exec(args);
return Shell.exec("dumpsys meminfo " + packageName);
}
public static String getDumpsysCpuinfo() {
// String args = "dumpsys cpuinfo";
// String[] args = new String[]{
// "dumpsys", "cpuinfo"
// };
// return CmdExecute.exec(args);
return Shell.exec("dumpsys cpuinfo");
}
public static String getDumpsysBattery() {
// String args = "dumpsys battery";
// String[] args = new String[]{
// "dumpsys", "battery"
// };
// return CmdExecute.exec(args);
return Shell.exec("dumpsys battery");
}
public static String getMemoryInfo(Context context) {
// String args = "cat /proc/meminfo";
// String[] args = new String[]{
// "cat", "/proc/meminfo"
// };
// return CmdExecute.exec(args);
return Shell.exec("cat /proc/meminfo");
}
public static String getProcessRunningInfo() {
// String[] args = {"/system/bin/top", "-n", "1"};
// String result = CmdExecute.run(args, "/system/bin/");
// return result;
// String[] cmd = new String[]{
// "top", "-n", "1"
// };
// return CmdExecute.exec(cmd);
return Shell.exec("top -n 1");
}
public static void killProcess(int pid) {
// 没有权限
// String[] args = {"/system/bin/kill", String.valueOf(pid)};
// CmdExecute.run(args, "/system/bin/");
// String[] cmd = new String[]{
// "kill", String.valueOf(pid)
// };
// CmdExecute.exec(cmd);
Shell.exec("kill " + String.valueOf(pid));
}
// // 直接复制的反编译结果,未整理。
// public static String getTelStatus(Context context) {
// TelephonyManager telephonymanager = (TelephonyManager) context
// .getSystemService(Context.TELEPHONY_SERVICE);
// String s = String.valueOf("");
// StringBuilder stringbuilder = (new StringBuilder(s))
// .append("DeviceId(IMEI) = ");
// String s1 = telephonymanager.getDeviceId();
// String s2 = String.valueOf(stringbuilder.append(s1).append("\n")
// .toString());
// StringBuilder stringbuilder1 = (new StringBuilder(s2))
// .append("DeviceSoftwareVersion = ");
// String s3 = telephonymanager.getDeviceSoftwareVersion();
// String s4 = String.valueOf(stringbuilder1.append(s3).append("\n")
// .toString());
// StringBuilder stringbuilder2 = (new StringBuilder(s4))
// .append("Line1Number = ");
// String s5 = telephonymanager.getLine1Number();
// String s6 = String.valueOf(stringbuilder2.append(s5).append("\n")
// .toString());
// StringBuilder stringbuilder3 = (new StringBuilder(s6))
// .append("NetworkCountryIso = ");
// String s7 = telephonymanager.getNetworkCountryIso();
// String s8 = String.valueOf(stringbuilder3.append(s7).append("\n")
// .toString());
// StringBuilder stringbuilder4 = (new StringBuilder(s8))
// .append("NetworkOperator = ");
// String s9 = telephonymanager.getNetworkOperator();
// String s10 = String.valueOf(stringbuilder4.append(s9).append("\n")
// .toString());
// StringBuilder stringbuilder5 = (new StringBuilder(s10))
// .append("NetworkOperatorName = ");
// String s11 = telephonymanager.getNetworkOperatorName();
// String s12 = String.valueOf(stringbuilder5.append(s11).append("\n")
// .toString());
// StringBuilder stringbuilder6 = (new StringBuilder(s12))
// .append("NetworkType = ");
// int i = telephonymanager.getNetworkType();
// String s13 = String.valueOf(stringbuilder6.append(i).append("\n")
// .toString());
// StringBuilder stringbuilder7 = (new StringBuilder(s13))
// .append("PhoneType = ");
// int j = telephonymanager.getPhoneType();
// String s14 = String.valueOf(stringbuilder7.append(j).append("\n")
// .toString());
// StringBuilder stringbuilder8 = (new StringBuilder(s14))
// .append("SimCountryIso = ");
// String s15 = telephonymanager.getSimCountryIso();
// String s16 = String.valueOf(stringbuilder8.append(s15).append("\n")
// .toString());
// StringBuilder stringbuilder9 = (new StringBuilder(s16))
// .append("SimOperator = ");
// String s17 = telephonymanager.getSimOperator();
// String s18 = String.valueOf(stringbuilder9.append(s17).append("\n")
// .toString());
// StringBuilder stringbuilder10 = (new StringBuilder(s18))
// .append("SimOperatorName = ");
// String s19 = telephonymanager.getSimOperatorName();
// String s20 = String.valueOf(stringbuilder10.append(s19).append("\n")
// .toString());
// StringBuilder stringbuilder11 = (new StringBuilder(s20))
// .append("SimSerialNumber = ");
// String s21 = telephonymanager.getSimSerialNumber();
// String s22 = String.valueOf(stringbuilder11.append(s21).append("\n")
// .toString());
// StringBuilder stringbuilder12 = (new StringBuilder(s22))
// .append("SimState = ");
// int k = telephonymanager.getSimState();
// String s23 = String.valueOf(stringbuilder12.append(k).append("\n")
// .toString());
// StringBuilder stringbuilder13 = (new StringBuilder(s23))
// .append("SubscriberId(IMSI) = ");
// String s24 = telephonymanager.getSubscriberId();
// String s25 = String.valueOf(stringbuilder13.append(s24).append("\n")
// .toString());
// StringBuilder stringbuilder14 = (new StringBuilder(s25))
// .append("VoiceMailNumber = ");
// String s26 = telephonymanager.getVoiceMailNumber();
// String s27 = stringbuilder14.append(s26).append("\n").toString();
// int l = context.getResources().getConfiguration().mcc;
// int i1 = context.getResources().getConfiguration().mnc;
// String s28 = String.valueOf(s27);
// StringBuilder stringbuilder15 = (new StringBuilder(s28))
// .append("IMSI MCC (Mobile Country Code):");
// String s29 = String.valueOf(l);
// String s30 = String.valueOf(stringbuilder15.append(s29).append("\n")
// .toString());
// StringBuilder stringbuilder16 = (new StringBuilder(s30))
// .append("IMSI MNC (Mobile Network Code):");
// String s31 = String.valueOf(i1);
// return stringbuilder16.append(s31).append("\n").toString();
// }
// public static String getMacAddress() {
//// String[] args = {"/system/bin/cat", "/sys/class/net/wlan0/address"};
//// return CmdExecute.run(args, "/system/bin/");
//
// String[] cmd = new String[]{
// "cat", "/sys/class/net/wlan0/address"
// };
// return CmdExecute.exec(cmd);
// }
}