Flex从Java接管加载库

Flex从Java接管加载库,java,android,c++,apache-flex,shared-libraries,Java,Android,C++,Apache Flex,Shared Libraries,我的应用程序使用Flex、java和C++。C++代码编译成共享库。Java执行库中的方法。之后,Flex代码使用库来使用其他函数 问题是Flex使用的方法只能在Java代码与库一起完成后才能使用 那么,在Java完成后,Flex是否可能加载相同的共享库(换句话说:使用相同的实例),以便使用相同的静态函数/变量?不可能只使用Flex或Java执行所有函数 最后一个应用程序是Android的移动空中应用程序。我使用的FlexSDK版本是4.6,它与AdobeAir3.1一起部署 Flex创建Jav

我的应用程序使用Flex、java和C++。C++代码编译成共享库。Java执行库中的方法。之后,Flex代码使用库来使用其他函数

问题是Flex使用的方法只能在Java代码与库一起完成后才能使用

那么,在Java完成后,Flex是否可能加载相同的共享库(换句话说:使用相同的实例),以便使用相同的静态函数/变量?不可能只使用Flex或Java执行所有函数

最后一个应用程序是Android的移动空中应用程序。我使用的FlexSDK版本是4.6,它与AdobeAir3.1一起部署 Flex创建Java库的extensioncontext。java库使用JNI与C++库通信。那很好。在java中在C++库中分配了很多静态变量之后,我希望Flex能够使用C++库的相同实例。因此,如果Flex从库中调用函数,它将使用与Java之前分配的值相同的静态变量


我的想法是创建一个第二个扩展上下文给java库,它将“创建”传递给C++库。原生C/C++使用指向Flex使用的方法的指针。Java提供了一个对象的实例。但也许可以在Java中捕获初始化请求,然后将其发送到C++

这个问题有点让人困惑。您可以考虑添加附加信息。例如,既然您将其标记为Android,这是否意味着您正在构建一个空中移动应用程序?如果是这样的话,这是一个很好的信息,可以作为问题文本的一部分。同时指定正在使用的AIR和Flex的版本。在空中;您可以使用本机扩展访问未通过Flex公开的API;然而,通常这些本机扩展必须用本机代码编写;对于Android来说,java不是C++。我已经编辑了我的问题,我希望它不会有那么多混乱。你所说的本机扩展是用平台的本机代码编写的(比如Java是android上本机代码的“语言”)是不对的。在我成功地测试了用C++编写的Flex本机扩展,所以可能: