是的,它可以做到(理论上),但抓住你的帽子,这是一个颠簸的旅程!
我看到这是一个非常古老的问题,有一个新的赏金(提问者已经3年没有登录了!),但是我们开始了......
这种方法触及了Android Java应用程序如何构建和运行的核心(即DEX,因此它将与adobe-air或任何东西一起使用,它是基本的[通用方法])。(通过以令人困惑的方式使用“本机”一词的方式,本机通常被理解为表示应用程序的 JNI (c++) 库元素)。
你说:
“我的想法是将Adobe air生成的APK转换为我在本机应用程序项目中导入的Jar文件,并调用一些在屏幕上显示某些内容的函数。
Android程序被编译成.dex(Dalvik Executable)[现在称为ART,但二进制兼容]文件,这些文件又被压缩成设备上的单个.apk文件(包括清单和资源等其他东西)。(解压缩.apk并查看内部)。
.jar文件包含 DEX 文件(压缩)。(解压缩已编译的.jar并查看内部)。
我以前做过一些这样的工作,这里有一个教程和编码示例的链接[由我测试](在android studio + gradle中)[通常需要自定义构建元素(我也给出了一个蚂蚁的例子)]。
查看我的堆栈溢出答案 动态加载 DEX 文件
从理论上讲,这回答了你的问题,但它是基本的东西,很复杂,并且有局限性,使得编码和维护变得困难(资源是a**e中真正的痛苦)。
问:这一切似乎都非常复杂和困难!
是的,它是!这是一件非常愚蠢的事情,很难做到!这就是为什么我们发明了跨平台框架(以及基于Web的代码javascript/css/html5...)。如果该端口不正确,则代码。