如何将Android原生扩展(.so)包含到AIR本机扩展(.ane)中?

时间:2014-04-22 10:44:52

标签: android jar air java-native-interface air-native-extension

我目前正在尝试找到一个解决方案来拥有一个AIR原生扩展,包括一个使用JNI的Android C库。

到目前为止,我试图将.so lib打包到一个罐子里,然后将其打包到罐子里。 当我学习here时,我必须首先从.jar中解压缩.so才能访问它。

代码发现似乎是在为一个常规的android项目工作,不幸的是当这个为.jar执行此操作然后打包成.ane时,它似乎失去了范围,导致了

FileNotFoundException: File path/to/my/lib was not found inside JAR

我已经对所有路径和我的jar内容进行了双倍和三重检查。它就在那里,拼写正确。

Q1:如何从actionscript访问.so?

Q2:除了普通的扩展jar之外,还有其他方法可以打包/解决.so吗?

问题3:我对.ane机制的内部工作真的不太了解。是否也可以跳过.jar-wrapping并直接从actionscript使用.so?

与往常一样,非常感谢任何意见。

1 个答案:

答案 0 :(得分:3)

回答我自己的问题成了我的坏习惯,但无论如何......

有时,文档可以提供帮助。在adobe docs中Here我终于找到了解决方案。

简单地将.so复制到我的ane package目录中的libs / armeabi-v7a文件夹中,将lib包含到ane中,这样我就可以在扩展的java代码中使用.so了。

很抱歉打扰。