我能用C++、C进行Android编程吗?如果是“可以”,那么请告诉我怎么做?以及安装过程是什么?
我不懂Obj-C和Java,但我精通C、C++、Flash AS3和Google发布的SDK。
请不要谈论NVIDIA SDK,它还没有完全开发好 :)
请注意:以下答案已经非常过时,可能不再完全正确。
您可以使用Android NDK来编写C/C++程序。您需要将C++代码库封装在静态库中,并通过Java包装器和JNI加载它。
标准的NDK不支持RTTI以及许多标准C++的功能也不可用,例如std::string等。为了解决这个问题,您可以重新编译NDK。Dmitry Moskalchuk提供了一个修改版的NDK,支持这一点,下载地址为http://www.crystax.net/android/ndk-r3.php。这个修改版适用于所有运行在ARM处理器上的Android手机。
根据应用程序的类型,您应该决定使用Java还是C/C++。如果需要高于平均计算能力和游戏,则应使用C/C++;对于其他情况则使用Java。
只需选择一种语言,并在该语言中编写大部分应用程序;JNI调用可能会极大地降低性能。不过,如果您知道如何在C/C++中编程,学习Java也并不难。Java的优点是应用程序可以在任何运行Android的设备上运行,而NDK应用程序则依赖于其编译的架构。
您可以使用Android NDK,但是需要注意的是Android NDK应用程序不是免费使用的,并且在越来越多地由Android驱动的市场中,在没有明确的开源路线的情况下,编程Android on Android意味着您必须放弃Android作为任何类型的第一步编程平台而不付款,因为它不具备Android开发者支持或NDK应用程序的广泛性。
请注意:我认为订阅请求是在胁迫下的支付,这是一个免费试用的上下文环境,它仍然未被开源社区打败。
在Android编程中,有不止一种用于C++的库: