9

As long as a 64 bit CPU is supposed to execute 32 bit programs, it is sometimes hard to know which one do I have installed on my device.

There are programs that require this knowledge, like the Xposed Framework installer.

What could be considered the proper method, whether be it ADB, command-line or software?

I used to do on desktop Linux:

 sudo uname -a

Maybe there is some equivalent for Android?

Further data:

  • Some programs that should inform about this are not clear enoguh for me. This is a example of some AIDA64 report. Even when it shows 32 bit, is this info about the operating system? I would say it is just about the hardware:

    (Click image to enlarge; my AIDA64 is in Spanish)

    IMG: AIDA64 report example

Question extended to this other

  • What device do you have? – New-To-IT Oct 22 '15 at 20:08
  • See this page: software.intel.com/en-us/blogs/2014/12/16/… It says to see the property ro.product.cpu.abi and the related ro.product.cpu.abilist32 and ro.product.cpu.abilist64 in the output of getprop. I don't have a 64-bit device so I can't test few things. There is also a similar question on Quora here. – Firelord Oct 22 '15 at 20:11
  • @New-To-IT , I have multiple Android devices. And, as a computer scientist, I use to work with several different models. Finding a generic method (or, at least, as generic as possible) would be preferred for me. Specifying a device would transform this question in "How can I guess if the installed Android version for my [Brand][Model][Number] is a 64 or 32 bit one?". – Sopalajo de Arrierez Oct 22 '15 at 20:16
  • @Firelord : thanks for the link. It seems related to "current device", not "current installed Android version". Would it be the same? – Sopalajo de Arrierez Oct 22 '15 at 20:18
  • 1
    @Lucky: I have tested AIDA64, and some others tools that report the 32/64 bit information, but none of them sets clear if they are talking about the operating system or the hardware. Added a capture screen to my original question to show. – Sopalajo de Arrierez Oct 22 '15 at 20:57
8

uname -m will display the architecture of the running kernel. This is different than whatever your hardware may be capable of running.

Unfortunately, you have to know which architectures are 32-bit and which are 64-bit. But you can easily find this out.

For example, my m7 displays arm7l. A quick search confirms that this is a 32-bit architecture, meaning that my running kernel was compiled as a 32-bit executable.

  • But if you check usage of uname you get -m The machine (hardware) type. i.stack.imgur.com/DTueH.png – Firelord Oct 22 '15 at 23:34
  • 3
    It refers to the machine architecture that the kernel was compiled for. Try installing 32-bit Ubuntu on your 64-bit computer and you will get i686 or some other 32-bit architecture name from uname -m. – Paul Ratazzi Oct 23 '15 at 1:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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