繁体   English   中英

我可以将c ++库包装到移动IOS / Android的Adobe Air原生扩展中吗?

[英]Could I wrap c++ library to Adobe Air native extension for mobile IOS/Android

我可以将C ++库包装到Adobe Air原生扩展IOS / Android吗?

我有一个由第三方编写的C ++库。 我想将该库用于移动设备的adobe air原生扩展? 我能做到吗? 如果是这样,我在哪里可以找到一些准则?

我将尝试回答问题的Android部分。

我没有在Adobe Air文档中明确说明这是可行的,但在Adobe Air的Adobe帮助文档中, 打包本机扩展:构建本机库 ,它说:

Android本机库:当您使用Android NDK时,提供具有如下文件名的共享库(等)

您可能知道NDK允许您使用包括C ++在内的本机代码语言实现Android应用程序的各个部分。

我认为在文档中这个引用意味着它是可能的。 作为起点,我会熟悉NDK的细节。

虽然这不是关于如何处理的详细指南,但我希望它提供了一个指向正确方向的指针。

构建ANE以包装C ++库的另一种方法是使用新的Adobe“C ++ to Flash”编译器(以前称为Alchemy)将其编译为Flash字节码。 它可以生成一个swf,以后可以从ActionScript调用它。 这是一个解释如何操作的教程 是它的官方网站。

对于iOS,您可以使用c库,如果您可以统计链接到它。 iOS上的ANE不支持动态链接(从3.2开始,不确定新版本中是否有更改)。 静态链接在Xcode中相当简单,只需谷歌即可。

对于Android:

如果您有.so文件,您可以在JAVA中编写ANE并使用jni(System.loadLibrary)与您的cpp库进行通信。 它比完全在CPP中编写ANE更好。 请参阅文档 “在ANE包中包含其他Android共享.so库”部分以了解更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM