Android是否真的存在于ARM以外的其他平台上?

时间:2010-12-20 13:37:47

标签: android android-ndk multiplatform

我想将用C ++编写的应用程序移植到android。将应用程序从C ++转换为Java将需要大量的工作,我更愿意使用该应用程序来更好地使用该平台,而不是修复转换错误和解决重构问题。

NDK似乎是一条很好的路线,但实际上我不想错过一个平台(如果它占市场的很大一部分),仅仅是因为NDK不支持或不支持它。

Android声称支持MIPS,ARM,X86等......但实际上我见过的所有实现都只在ARM(或arm兼容)上。 我在这个网站上查了一下: http://www.pdadb.net/

使用NDK会不是很糟糕? 是否有任何运行或将运行Android的非ARM设备? 我在哪里可以找到更多相关信息?

提前致谢!

4 个答案:

答案 0 :(得分:5)

此时问题不在于您不会因CPU架构而失去市场份额,因为目前非ARM Android设备非常少,问题在于您可能会因为要求用户而失去市场份额运行Android 2.3或更高版本,您必须使用它来创建一个可以访问窗口,传感器和输入子系统的完全本机应用程序。

避免重写代码是一个很好的目标,但由于Android的不同Window和生命周期API,您可能不得不重写部分代码。现在你必须用C ++而不是Java重写代码的一些重要部分。

你可以尝试一种混合方法,用Java编写大部分UI,然后调用现有的C ++代码。

你在制作游戏吗?然后你可能想要处理这些问题并继续使用NDK。如果没有,请尝试在Java中尽可能多地实现该程序,并将NDK用于需要快速执行的复杂,经过测试的代码部分。

答案 1 :(得分:3)

documentation给出以下内容:

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)

答案 2 :(得分:2)

  

使用NDK会不是很糟糕?

对于算法,NDK很好。对于游戏,NDK很好。对于实现普通应用程序,NDK不会非常有用。

  

是否有任何运行或将运行Android的非ARM设备?

Google TV在x86(Atom)上运行。

答案 3 :(得分:1)