如何在android中运行C ++应用程序?

时间:2011-05-27 07:07:35

标签: c++ android cygwin android-ndk

如何使用cygwin在android中运行c ++应用程序。这方面的任何教程都很受欢迎。

2 个答案:

答案 0 :(得分:9)

您无法在Android中直接运行C ++应用程序 Android只能运行使用Android SDK编写的应用程序,但是您可以重新使用Android的本机(C / C ++)库。

您必须重新编译专门针对Android的所有本机库。并且您确实需要您计划使用的所有第三方本机库的源代码,因为通常当我们在Android之外编译和链接这些库时它们链接到glibc但不幸的是Android由于liscence和性能问题而不使用glibc。 Android使用称为libc的glibc的淡化版本。对于大多数常用功能,它与glibc具有匹配的符号名称。但据我所知,libc没有一些与Strings相关的功能,它肯定没有一些posix支持。如果您的本机库使用任何已弃用的功能,则必须通过使用libc支持的替代功能并相应地编写lib来为这些功能找到解决方法。

此外,您必须使用NDK将Java(Android app / fwk)与原生世界(C ++)连接起来。然后在其上编写一个Android应用程序。

虽然这听起来很简单,但根据我的经验,在Android上编译本机库(Android移植)传统上非常耗费时间并且不能保证过度使用。

答案 1 :(得分:0)

您需要Java Native Interface或“JNI”。

请参阅:“Java Native Interface Wiki”“Android JNI Tips”及其中的链接。要做到这一点并习惯它如何发展是一些工作。我使用C从这里给出的参考资料中进行了管理,如果您按照所有步骤操作,它将在一段时间后完成并且没有进一步的帮助。