我可以使用C ++,C进行Android编程吗?
我可以使用C ++,C进行Android编程吗? 如果答案是“是”,那么请告诉如何? 什么程序设置?
我不懂Obj-C,Java,但熟悉Google发布的C,C ++,Flash AS3,SDK。
请不要告诉NVDIA SDK它没有完全开发:)
请注意:下面的答案可能已经过时,可能并不完全正确。
您可以使用Android NDK以C / C ++进行编程。 你将不得不将你的C ++代码库包装在一个静态库中,并通过Java包装和JNI加载。
标准的NDK不支持RTTI,标准c ++的许多function也不可用,比如std :: string等等。为了解决这个问题,你可以重新编译NDK。 德米特里·莫斯卡尔丘克(Dmitry Moskalchuk)在http://www.crystax.net/android/ndk-r3.php上提供了一个支持NDK的修改版本。; 此修改后的版本适用于在ARM处理器上运行的所有Android手机。
根据应用程序的types,您应该决定使用Java还是C / C ++。 我会用C / C ++来处理任何需要高于平均的计算能力和游戏的东西 – 剩下的就是Java。
只需select一种语言,然后用该语言编写大部分应用程序; JNI调用可以大大降低您的性能。 Java并不那么难 – 如果你知道如何用C / C ++编程。 Java的优势在于,应用程序可以在运行Android的任何设备上运行,而NDK应用程序依赖于编译的体系结构。
您应该使用Android NDK以本机代码开发应用程序中性能至关重要的部分。 查看Android NDK 。
无论如何,我不认为这是开发整个应用程序的正确方法。
是的,尽pipeJava是用于编程Android的主要/首选语言,但您的C ++代码可能必须与Java组件接口,但您可以使用本机开发工具包(NDK)以C ++(大部分)编程Android应用程序,而且您可能还需要阅读并理解Java组件的文档。 因此,我build议您使用Java,除非您有一些现有的C ++代码库需要进行移植,而这在Java中是不可行的。
Java与C ++非常相似,我不认为你会遇到任何问题,从C ++转换到Java是非常容易的; 从Java到C ++有点难,虽然不是很糟糕。 用于C ++的Java程序员在解释差异方面做得相当不错。 用Java编写你的Android代码将会更加地道,并且也会使开发过程变得更加简单(因为Java Android SDK的工具比相应的NDK工具好得多)
在设置方面,Google提供了用于Java和C ++ Android开发的Android Studio IDE(使用Gradle作为构build系统),但是只要你在任何IDE或者构build系统,你都可以自由使用使用Android SDK / NDK来产生最终输出。
您也应该看看MoSync ,MoSync为您提供标准的C / C ++,易于使用的良好logging的API以及基于Eclipse的全functionIDE。 它现在是一个开源的IDE,但仍然非常酷,但不再维护。
你也可以看看C ++ Builder XE6,XE7支持c ++代码的android和Firemonkey库。
http://www.embarcadero.com/products/cbuilder
非常简单的方法开始,本地代码。 但二进制文件的大小。
在Android编程中使用C ++有多个库:
- C ++ – qt(诺基亚产品,也可用作LGPL)
- C ++ – Wxwidget(可作为GPL)