首页 > 解决方案 > Codename One(或 ParparVM)如何将 Java 库编译成 iOS 库

问题描述

通过检查 Codename One 网站和 ParparVM Github,其指南仅显示如何将 Java(带有 Java Main 函数入口点)构建到本机可执行文件/应用程序(iOS)中,但我找不到任何构建/编译 Java 的指南进入 iOS 共享库(C 源代码或二进制文件,只要可以被 iOS 应用程序中的 swift/objective-C 重用)。

那么我们能做到吗?有什么指南吗?

标签: ioscodenameoneparparvm

解决方案


它不是为此目的而设计的,因此它可能无法正常工作。有一些固有的设计决策会使 ParparVM 很难与库一起工作。两个大的:

  • GC 需要与 root 一起工作,如果没有完全控制应用程序,将很难收集

  • 生成的代码看起来“很糟糕”。方法名称转换为 C 中非常长的函数名称,语法非常复杂,以允许各种 VM 边缘情况,例如协方差

我建议你看看 J2ObjC。我已经很久没有检查过了,但它的设计正是考虑到了这个用例。它没有“真正的”GC,但 ARC 可能没问题。它适用于您的资源并生成在 iOS 上看起来更“自然”的库。


推荐阅读