I want to get Processor Model similar to DU Booster. CPU model contains ARM processor version and revision. For Example: ARMv7 Processor rev 3 (v7l)
I have tried this
System.getProperty("os.arch")
which returns only architecture
and
String[] args = {"/system/bin/cat", "/proc/cpuinfo"};
to get CPU info. I am able to get the right information in some of the devices but not in all.
I tried this in Asus Fonepad 7 which doesn't return the property of the Processor(but returns processor(small p)
It returns like
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 53
model name : Intel(R) Atom(TM) CPU Z2520 @ 1.20GHz
stepping : 1
microcode : 0x10e
cpu MHz : 800.000
cache size : 512 KB
physical id : 0
siblings : 4
I want to get result like "ARMv7 Processor rev 3 (v7l)". Thanks in Advance..
RELATED: How to See How Much RAM Your Android Phone Has You'll be greeted with the “Dashboard” tab, which is an overview of your device's status. We'll switch over to the “Hardware” tab. At the top, you'll see the name of your processor.
1. For Android 7 : go to "Settings" > "About" > "Hardware information". 2. The screen of "Hardware information" includes the information as below picture.
For the Android version, look at the OS version under the Device section. This explicitly displays the version number. For architecture info, slide over to the System tab and check out the CPU Architecture and Instruction Sets entries under the Processor tab.
You don't need to implement separated methods to work with differ processors types, just simply replace the model_name
key to cpu_model
when it needed while getting /proc/cpuinfo
file:
public static Map<String, String> getCPUInfo () throws IOException {
BufferedReader br = new BufferedReader (new FileReader ("/proc/cpuinfo"));
String str;
Map<String, String> output = new HashMap<> ();
while ((str = br.readLine ()) != null) {
String[] data = str.split (":");
if (data.length > 1) {
String key = data[0].trim ().replace (" ", "_");
if (key.equals ("model_name")) key = "cpu_model";
output.put (key, data[1].trim ());
}
}
br.close ();
return output;
}
This is an easy way to do so, you can do it with Patterns but that would require alot of TaE (Trial and Error)
String unparsed_CPU_INFO;
onCreate{
// cpu info
String result = null;
CMDExecute cmdexe = new CMDExecute();
try {
String[] args = {"/system/bin/cat", "/proc/cpuinfo"};
result = cmdexe.run(args, "/system/bin/");
Log.i("result", "result=" + result);
} catch (IOException ex) {
ex.printStackTrace();
}
unparsed_CPU_INFO = result;
System.out.println("Your cpu model is: " ++ getCPUName());
}
public synchronized String getCPUName() {
if (cpuName == null) {
String CPUName = "";
String[] lines = unparsed_CPU_INFO.split("\n");
for (int i = 0; i < lines.length; i++) {
String temp = lines[i];
if (lines[i].contains("Processor\t:")) {
CPUName = lines[i].replace("Processor\t: ", "");
break;
}
}
cpuName = CPUName;
return CPUName;
} else {
return cpuName;
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With