didi_X8
didi_X8

Reputation: 5068

NDK: are x86 binaries needed for the Razr i?

As far as I know, the Razr i is currently the only relevant Intel based Smartphone out there.

Our app uses a C++ lib included via NDK. Now I wonder if I need to add x86 support in order to have this app running on the Razr i.

If "APP_ABI" is not set in Application.mk (which then defaults to "armeabi"), the Play Store tells me that for that apk, 2635 devices are supported and 282 are not. Most unsupported ones are tablets, our app requires GPS. However the Razr i is not listed.

Reading http://software.intel.com/en-us/articles/google-play-supports-cpu-architecture-filtering-for-multiple-apk I stumbled over the statement: "Many x86 ABI devices can also run ARMv7 and ARMv5TE binaries." Really? So it's maybe not necessary to bloat the apk for all devices or manage 2 apk's per release?

Can somebody tell me if this is true for the Razr i?

Upvotes: 2

Views: 318

Answers (1)

Royston Pinto
Royston Pinto

Reputation: 6731

There are 2 parts to this

  1. Razr I supports ARM binaries by using a concept called Binary translation, namely Houdini. So ARM instructions are converted to x86 on the fly and your app runs without any hassles. However, there is a slight overhead of conversion that is incurred but not notable enough to see a performance dip.
  2. Best route is to have a port of your library to x86 as that would mean you get the max juice out of the x86 architecture.

Many applications run just like that on Razr I without actually being specified to support x86. So 99% chance is your application might just work on Razr I by actually not having a relevant x86 library.

Upvotes: 2

Related Questions