How to detect android device is 64 bit or 32 bit processor?
try {
boolean isArm64 = false;
BufferedReader localBufferedReader = new BufferedReader(new FileReader("/proc/cpuinfo"));
if (localBufferedReader.readLine().contains("aarch64")) {
isArm64 = true;
}
localBufferedReader.close();
} catch (IOException e) {
}
Or
final boolean is64bit = Build.SUPPORTED_64_BIT_ABIS.length > 0;
If you're using ADB
adb shell cat /proc/cpuinfo | grep rch
Most outputs:
Architecture 7 -> 32bit
Architecture 8 -> 64bit
this is an extension answer from @Naval Kishor Jha
tested in 6 models here
no root needed
If you're using JAVA
if(Build.SUPPORTED_64_BIT_ABIS.length>0)
{
//it's a 64bit
}
else
{
//it's a 32bit
}
Simple answer: There's no need to check for this on Android versions below Lollipop. That's due the fact that Lollipop introducted platform support for 64-Bit architectures, Android-Versions below Lollipop won't run with a 64-Bit processor.
Android 5.0 introduces platform support for 64-bit architectures—used by the Nexus 9's NVIDIA Tegra K1. Optimizations provide larger address space and improved performance for certain compute workloads. Apps written in the Java language run as 64-bit apps automatically—no modifications are needed. If your app uses native code, we’ve extended the NDK to support new ABIs for ARM v8, and x86-64, and MIPS-64. (Source)
Firdt connect the device ato system, on windows type in the command prompt this command
adb shell cat /proc/cpuinfo | findstr arc
on linux or mac base system open terminal and type this command
adb shell cat /proc/cpuinfo | grep arc
if first line of out contain 32
that mean system type is 32bit
first line of out if contain 64
that mean system type is 64bit