如何在安卓系统上运行C++应用?

14

如何使用Cygwin在Android上运行C++应用程序。欢迎提供任何相关的教程。


在Android中使用Cygwin?哎呀..? - ildjarn
2个回答

17

您无法在Android中直接运行C++应用程序。
Android只能运行使用Android SDK编写的应用程序,但是确实可以重复使用原生(C / C ++)库以供Android使用。

您将不得不专门为Android重新编译所有本地库。并且您需要所有第三方本机库的源代码,因为通常当我们在Android之外编译和链接这些库时,它们链接到glibc,但不幸的是,由于许可证和性能问题,Android不使用glibc。 Android使用了一个简化版本的glibc,叫做libc。它具有与glibc相匹配的大多数常规功能的符号名称。但据我所知,libc没有与字符串相关的某些功能,并且绝对没有某些posix支持。如果您的本机库正在使用任何已弃用的功能,则必须通过使用libc支持的替代功能并相应地编码您的库来找到解决方法。

此外,您将必须使用NDK将Java(Android应用程序/框架)与本机世界(C ++)进行接口处理。 然后在其上编写一个Android应用程序。

尽管听起来很简单,但根据我的经验,在Android上编译本地库(Android移植)传统上非常耗时,且无法保证成功。


实际上,你可以使用 NDK c++ 环境编译 executable,而不是构建 lib 并在 Java 中使用它。这样编译出来的可执行文件就像其他 Linux 可执行文件一样,在 Android 上运行。 - Jinesi Yelizati

0

你需要使用Java Native Interface(JNI)。

请参考: "Java Native Interface Wiki" "Android JNI Tips" 以及其中的链接。这需要一些工作来实现并适应它的使用方式。我通过这里提供的参考文献和C成功地实现了它,如果你按照所有步骤进行操作,经过一段时间和信心,就可以不需要进一步的帮助而使其正常运行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接