Does Android really exist on other platforms than ARM?
I want to port an aplication written in C++ to android. Converting the application from C++ to Java will take a lot of work that I would prefer to use on making the application better for that platform instead of fixing convertion bugs and开发者_开发问答 solving refactoring problems.
The NDK seems a good route to take but actually I don't want to miss a platform(if it is a considerable % of the market) just because the NDK doesn't or won't support it.
Android claims to support MIPS, ARM, X86 and others ... but actually all the implementations I have seen are only on ARM (or arm compatible). I checked that on this site: http://www.pdadb.net/
Would it be a bad desision to use the NDK?
Are there any non ARM devices that run or will run Android? Where can I find more information about this?Thanks in advance!
At this point the problem is not that you would not lose market share due to CPU architecture, as there are very few non-ARM Android devices at the moment, the problem is that you may lose market share due to requiring users to run Android 2.3 or later, which you would have to use in order to create a fully native application with access to the window, sensor, and input subsystems.
Avoiding rewriting code is a good goal but you would likely have to rewrite portions of the code anyway due to Android's dissimilar Window and life-cycle APIs. Now you would have to rewrite some important parts of the code in C++ rather than in Java.
You could try a hybrid approach where you write most of the UI in Java, then make calls to your existing C++ code.
Are you making a game? Then you'll probably want to deal with these issues and press on with the NDK. If not, try implementing as much of the program as possible in Java and use the NDK for the complex, tested parts of your code that need to be fast.
The documentation gives the following:
The latest release of the NDK supports these ARM instruction sets:
ARMv5TE (including Thumb-1 instructions)
ARMv7-A (including Thumb-2 and VFPv3-D16 instructions, with optional support for NEON/VFPv3-D32 instructions)
Future releases of the NDK will also support:
x86 instructions (see CPU-ARCH-ABIS.HTML for more information)
Would it be a bad desision to use the NDK?
For algorithms, the NDK is fine. For games, the NDK is fine. For implementing an ordinary app, the NDK will not be terribly helpful.
Are there any non ARM devices that run or will run Android?
Google TV runs on x86 (Atom).
Use this improved NDK: http://developer.mips.com/android/download-android-ndk/
精彩评论