【发布时间】:2012-12-09 05:38:38
【问题描述】:
我可以将 C++ 库包装到 Adobe Air 原生扩展 IOS/Android 吗?
我有一个由第三方编写的 C++ 库。我想将该库用于移动的 adobe air 本机扩展? 我能做到吗。如果是这样,我在哪里可以找到一些指南?
【问题讨论】:
我可以将 C++ 库包装到 Adobe Air 原生扩展 IOS/Android 吗?
我有一个由第三方编写的 C++ 库。我想将该库用于移动的 adobe air 本机扩展? 我能做到吗。如果是这样,我在哪里可以找到一些指南?
【问题讨论】:
我将尝试回答问题的 Android 部分。
我没有看到它在 Adobe Air 文档中明确说明这是可能的,但在 Adobe Air 的 Adobe 帮助文档中,Packaging a native extension: Building the native library 部分,它说:
Android 原生库:当您使用 Android NDK 时,提供一个文件名如下的共享库(等等)
您可能知道,NDK 可让您使用包括 C++ 在内的本机代码语言来实现部分 Android 应用。
我认为文档中的这个引用意味着它是可能的。作为起点,我会熟悉 NDK 的细节。
虽然这不是关于如何继续进行的详细指南,但我希望它可以为正确的方向提供指导。
【讨论】:
对于 iOS,如果您可以统计链接到它,您可以使用 c 库。 iOS 上的 ANE 不支持动态链接(从 3.2 开始,不确定新版本中是否有所改变)。静态链接在 Xcode 中是相当简单的过程,只需 google 即可。
安卓系统:
如果你有 .so 文件,你可以用 JAVA 编写你的 ANE 并使用 jni(System.loadLibrary) 与你的 cpp 库对话。它比完全在 CPP 中编写 ANE 要好。请参阅ane documentation“在 ANE 包中包含额外的 Android 共享 .so 库”部分了解更多信息。
【讨论】: