【问题标题】:can we use flex and c++ on android?我们可以在 android 上使用 flex 和 c++ 吗?
【发布时间】:2011-09-10 04:50:43
【问题描述】:

我在 windows 上创建了一个 AIR 应用程序,它使用 flex 作为前端,并在后端使用 c++ 本机二进制文件。两者松耦合,借助 flex NativeProcessEvents 进行通信。

下一步,我想将同一个应用程序移植到 android 上。我之前没有任何 Android 开发经验,但我了解 Flex 4.5 对 Android 有很好的支持。但从我目前所读到的任何内容来看,对 Android 的 C/C++ 支持是有限的。 Android NDK 似乎是一种交流黑白原生 Android 应用程序和 c++ 代码的方式,但我不清楚它是否也允许将“遗留 c++”代码编译为“仅 c++”二进制文件。是否可以?

任何关于此的链接/示例都会有很大帮助。

问候, 卡皮尔

【问题讨论】:

标签: android c++ apache-flex android-ndk flex4.5


【解决方案1】:

你有几个选择。

  1. 首先是将您的 C++ 代码重新编写为某种基于服务器的语言。 Visual C++ 和 .NET 似乎是一个可能的候选者,因为您应该能够在移植中重用大部分 C++ 代码。

  2. 您可能想要调查为AIR 3.0 宣布的Native Extension 功能。我相信您应该能够将您的 C++ 代码移植到本机扩展,以将其公开给在 Android 上运行的 AIR 应用程序。我不清楚你是否必须用 Java 重写 C++ 代码。

    AIR 3 与几天前一样处于候选发布阶段,所以我希望正式发布指日可待。

【讨论】:

  • 亲爱的 Flextras...感谢您的回复。就在昨天,我还发现 Adob​​e 已将 Native Extension 功能作为 AIR 3.0 的一部分发布。我真的很期待。但我更担心 C++ 二进制文件。这是一个巨大的遗留代码,我很难重新编码它。任何可以帮助我轻松完成的 Android 库/工具包?
  • 我不知道任何用于将 C++ 二进制文件移植到另一种语言的库/工具包。如果你有代码,我原以为 Visual C++ 可以让你轻松地重新编译。我不清楚原生扩展是否支持 C++,或者它是否必须是 C。
  • 好的,谢谢...一旦找到解决方案,我会调查并更新!
【解决方案2】:

Android 的 NDK 完全能够运行任意 C 和 C++ 代码。真正的问题是 AIR 和 C++ 之间的接口——不幸的是,我对 Android 上的 Flex 没有任何经验。

【讨论】:

  • 谢谢 qdot....太好了。那么是否有适用于 Android 的 g++ 可以使用 Makefile 并创建本机二进制文件?如果是这样,你能指点我那里的一些相关链接吗?关于 C++/AIR 接口,我知道如何解决这个问题....所以不用担心 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-10
  • 2021-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-16
相关资源
最近更新 更多