2

I have been looking into 32-bit or 64-bit Android versions for phones. It seems to me that the information on the number of bits of the installed Android version is always missing from phones' specs, unlike what happens for the CPU. Googling around, the ways I have found to understand whether a phone is running a 32-bit or a 64-bit OS all include actually doing something with the phone, like looking up the kernel version or downloading some app, like AIDA64.

How do I know if a phone I want to buy will come with a 32-bit or a 64-bit Android before I buy it? It would be interesting to find a layman-friendly criterion or resource that allows me to know this in advance, especially to be able to look into the cheapest phones running a 64-bit Android.

marked as duplicate by Firelord Jul 7 at 9:18

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • Are you looking for website or on device indicator? Or just buy a phone with at least 6GB of RAM which requires 64-bit support. – Morrison Chang Jun 28 at 4:03
2

One way to know that the OS is 64-bit is to check the RAM. 32-bit OSes have (see/utilise) a maximum of 4GB of RAM while 64-bit devices see more. Devices with more than 4GB of RAM will be using 64-bit Android.

Limits are as followed:

32-bit: 2^32 = 2^2 * 2^30 = 4GB. A 32-bit OS will go 1 bits up to 4GB.

64-bit: 2^64 = 2^4 * 2^60 = 16EB. A 64-bit OS will go 1 bits up to 16EB.

Up to 4GB, the RAM won't help differentiating whether it is 32 or 64-bit. More than 4GB, then it is more than likely to be 64-bit.

Large Physical Address Extension(LPAE) was implemented to allow physical address up to 40-bit. But as @Irfan as inferred, it is not known (at least publicly) if there are devices in the market which have taken advantage of it.

Conversion table
-----------------
2^10 = 1 KB
2^20 = 1 MB
2^30 = 1 GB
2^40 = 1 TB
2^50 = 1 PB
2^60 = 1 EB  
  • 1
    I have Redmi Note 4 with 3GB DDR3, but it's 64-bit. So this criteria could be misleading sometimes, partially applicable. – Irfan Latif Jun 28 at 13:58
  • 1
    @IrfanLatif Could you explain the misleading part? Because I said that devices with more than maximum of 4GB of RAM will have 32 bit OS. But a device with more than 4GB will be 64-bit (it doesn't mean that a 64-bit OS can't handle less than 4GB of RAM, but that the 32+bit OS can't handle more than 4GB). I will be more than happy to edit, if you think it's necessary. – Reddy Lutonadio Jun 28 at 15:56
  • @ReddyLutonadio Only windows sees restrictions in handling RAM for 64/32 bir – linuxandria Jun 28 at 16:46
  • @ReddyLutonadio A phone comes with 3GB RAM. Based on your answer, one can't be sure if it's 32 bit or 64 bit. If RAM >= 4GB, then the criteria holds good. But some 32-bit architecture also supported larger RAMs? I remember some news from a few years back. – Irfan Latif Jun 28 at 17:42
  • Also include a reference to LPAE, though I'm not sure if any devices are/were shipped with this. – Irfan Latif Jun 29 at 5:01
0

Until the manufacturer doesn't describe the technical specifications of OS included with a device, it's hard to say if it's 32-bit or 64-bit. But a device with 64-bit hardware is expected to come with 64-bit OS (not always), let's take a look how to identify 64-bit hardware.

To find out if a device is 32-bit or 64-bit, you need to check the specifications of its SoC and then of its processor. For instance SoC in Redmi Note 4 is Qualcomm Snapdragon 625 (MSM 8953), which contains processor Cortex-A53. It's evident from technical specifications of Cortex-53 that it's based on ARMv8 architecture, which can process 2 types of Instruction Sets: aarch64 (which Android's arm64-v8a ABI uses) and aarch32 (which Android's armeabi-v7a ABI uses). So the phone is 64-bit, shipped with a 64-bit OS.

On-device processor/SoC information can be checked using some third party app as you have mentioned, or directly from CLI: uname -m, cat /proc/cpuinfo, cat /sys/firmware/devicetree/base/model etc.

RELATED: Android apps for “armeabi-v7a” and “x86” architecture: SoC vs. Processor vs. ABI

  • 3
    What you wrote is correct, however a 64bit CPU doe not necessarily means that the phone is running a 64bit version of Android. – Robert Jun 28 at 9:18
  • 1
    @Robert valid point, I was focusing hardware aspect. But I don't think one would prefer 32-bit OS on a 64-bit hardware, isn't it? It's a wastage of resources then. If a phone's specs aren't out from OEM, I don't think there is way to find out if Android ROM is 64 or 32 bit. But they don't tell much about stock ROM usually, other than Android version, or if it's heavy mod on AOSP like MIUI. – Irfan Latif Jun 28 at 9:33
  • I don't know the numbers but it is not uncommon to use a 32bit OS on a 64bit capable hardware. Just think of the Raspberry which has 64bit hardware since 4 years and finally this year gets a 64bit OS. – Robert Jun 28 at 11:37
  • Raspberry Pi is a learning PC, not a phone, maintained by a foundation. There isn't any beneficiary giant corporate group behind that. So they don't have teams of paid developers working 24/7. And is more open source as compared to Android based phones. – Irfan Latif Jun 28 at 11:45
  • I'd also like to point out most armeabi-v7a CPUs are actually 64 bit but generally run a 32 bit version of Android. Arm64-v8a however is always 64 bit – linuxandria Jun 28 at 16:47

Not the answer you're looking for? Browse other questions tagged or ask your own question.