我想将用C编写的应用程序移植到
android.将应用程序从C转换为
Java将需要大量工作,我更愿意使用该应用程序更好地为该平台,而不是修复转换错误和解决重构问题.
NDK似乎是一条很好的路线,但实际上我不想错过一个平台(如果它占市场的很大一部分)只是因为NDK不支持或不支持它.
Android声称支持MIPS,ARM,X86和其他……但实际上我见过的所有实现都只在ARM(或arm兼容)上.
我在这个网站上查了一下:
http://www.pdadb.net/
使用NDK会不是很糟糕?
是否有任何运行或将运行Android的非ARM设备?
我在哪里可以找到更多相关信息?
提前致谢!
解决方法
此时问题不在于你不会因cpu架构而失去市场份额,因为目前很少有非ARM Android设备,问题是由于要求用户运行Android 2.3,你可能会失去市场份额或者稍后,您必须使用它来创建一个可以访问窗口,传感器和输入子系统的完全本机应用程序.
避免重写代码是一个很好的目标,但由于Android的不同Window和生命周期API,你可能不得不重写部分代码.现在你必须用C而不是Java重写代码的一些重要部分.
您可以尝试使用混合方法,在Java中编写大部分UI,然后调用现有的C代码.
你在制作游戏吗?那么你可能想要处理这些问题并继续使用NDK.如果没有,请尝试在Java中尽可能多地实现该程序,并将NDK用于需要快速执行的复杂,经过测试的代码部分.