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

标签 c++ android cygwin android-ndk

如何使用 cygwin 在 android 中运行 c++ 应用程序。在这方面的任何教程表示赞赏..

最佳答案

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

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

此外,您还必须使用 NDK将 Java(Android 应用程序/fwk)连接到本地世界(C++)。然后在此基础上编写一个 Android 应用程序。

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

关于c++ - 如何在 android 中运行运行 C++ 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6148947/

相关文章:

c++ - git_clone() 只克隆 .git 文件夹 (libgit2)

c++ - 复制构造函数不是继承的

android - Dagger 2 - 组件作用域编译错误

android - 仅在 Android Nougat 上无法从可绘制资源 ID 中找到 ColorStateList

python - 在 cygwin 中列出文件内容时遇到问题

c++ - 如何使用 ostream_iterator 显示对象的属性。?

android - 如何在 Qt Android 应用程序上禁用屏幕保护程序

android - 为什么我不能在 Environment.DIRECTORY_PICTURES 中创建一个目录?

您可以静态编译 cygwin 应用程序吗?

node.js - npm run 什么都不做