将Actionscript/Flex Air Android项目与Java Android项目合并

3

背景: 我有一个使用Flash Builder用ActionScript编写的Air Android项目,以及一个使用Eclipse用Java编写的Android项目。我想将这两个项目合并成一个,即将Air项目集成到我的Java Android项目中,不想有两个独立的项目。

我的Air项目使用Adobe Media Serverrtmp协议来发布/播放实时流。

我尝试过的几种方法:

  1. Adobe原生扩展:我可以从我的Air项目中调用Java本地代码,但这与我想要做的相反。

  2. Java本机接口:我可以使用它来调用c/c++/assembly...,但我没有看到JNI如何调用Air项目。

  3. Android Webview:创建一个html文件嵌入我的Air项目的.swf文件,并使用Android Java Webview直接运行.swf文件。但它不再起作用了,我猜是因为2011年后Android不再支持flash player。

问题:

  1. 我想知道我想要做的是否可能。如果可能,有人能给我一些指导吗?
  2. 我可以将我的Air Android项目打包成.apk。但我没有找到一种方法来使用另一个Android项目中的现有.apk。
  3. 我必须使用交叉编译器将我的Air项目制作成.jar吗?

谢谢!

1个回答

1
  1. 正如您所说的,ANE与您想要的相反,您可以从Java中触发您的AIR应用程序,这就是您能做的所有事情。简而言之,您无法将已编译的AIR集成到Java应用程序中。
  2. 即使在Java中,您也无法将两个应用程序合并为一个APK
  3. 如果您能找到这样的转换器,那么这似乎是您唯一可行的行动方案。

谢谢CyanAngel!当你说要从Java中激活Air时,这是否意味着我仍然需要有两个独立的项目?我将深入研究如何将Air转换为.jar文件,但这样做后我可能会失去Air环境.. - bugfree
是的,您仍需要两个单独的项目。最好的方法是告诉您的AIR开始运行。请参阅InvokeEvent - CyanAngel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接