Question

I am adding database functionality to an Android phone/tablet application with the requirement that the database be encrypted. I have researched several options and am currently considering SQLCipher.

My one concern is that SQLCipher uses native code. I see that it includes native libraries in the following directories:

  • libs/armeabi
  • libs/x86

I believe this means that it will run only on ARM and X86 processor systems. (Please correct me if I am wrong)

So if the app supports only these 2 architectures, does that exclude many devices? My understanding is that the vast majority of mobile devices use ARM processors. Is this accurate?

Was it helpful?

Solution

As far as I know, Android has been ported to MIPS in addition to ARM and x86. It's going to be fairly easy to test your app on x86 with a native AVD, and on ARM using an actual device.

I'm not aware of any production devices in the Google landscape with a MIPS processor. I've seen a couple of embedded MIPS SoCs running Android though -- but they wouldn't feature downloadable apps.

As far as Intel goes, I've heard mention of one phone (Motorola?) that runs on an Intel chip, and Intel showed off an Android tablet at Computex earlier this month. Of course, the beauty of that is (for the consumer) that it'll run Android and Windows 8 just fine.

This is all to say that, currently, it's not a limitation not to support MIPS, and probably won't be in the future. However, Android on Intel is coming, and the market will show how well it does in the next 6-9 months. (If you're reading this answer in 2014, please comment and tell me how it went).

Of course, you could always compile the native code for MIPS...

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top