ios - Codename One(或 ParparVM)如何将 Java 库编译成 iOS 库
问题描述
通过检查 Codename One 网站和 ParparVM Github,其指南仅显示如何将 Java(带有 Java Main 函数入口点)构建到本机可执行文件/应用程序(iOS)中,但我找不到任何构建/编译 Java 的指南进入 iOS 共享库(C 源代码或二进制文件,只要可以被 iOS 应用程序中的 swift/objective-C 重用)。
那么我们能做到吗?有什么指南吗?
解决方案
它不是为此目的而设计的,因此它可能无法正常工作。有一些固有的设计决策会使 ParparVM 很难与库一起工作。两个大的:
GC 需要与 root 一起工作,如果没有完全控制应用程序,将很难收集
生成的代码看起来“很糟糕”。方法名称转换为 C 中非常长的函数名称,语法非常复杂,以允许各种 VM 边缘情况,例如协方差
我建议你看看 J2ObjC。我已经很久没有检查过了,但它的设计正是考虑到了这个用例。它没有“真正的”GC,但 ARC 可能没问题。它适用于您的资源并生成在 iOS 上看起来更“自然”的库。
推荐阅读
- gitlab - 如何仅在特定分支中实现之前的脚本?
- python - 通过 dogpile 在 sqlalchemy 模型中缓存 column_property
- javascript - 有效的查询参数 - 在 URL 中传递数据
- scala - scala.Unit 与 () 不同吗?
- javascript - 使用 jQuery get 方法从 express.js 获取 json 不起作用
- jquery - java.io.FileNotFoundException:SRVE0190E:找不到文件:/mdta/app/js/jquery.mobile-1.4.2.min.map
- azure - 使用应用程序权限调用 Microsoft Graph privilegedOperationEvents 时出错
- c++ - 具有物理表示的所有权
- laravel - 上传文件时,laravel 会显示 PostTooLargeException 什么是处理这个问题的解决方案
- r - 如何首先转置一个矩阵,然后用 0 填充缺失月份的值