在iOS项目中使用Java库

Phi*_*ipp 8 java android ios

我正在开发一个项目,需要基于相对复杂的规则集进行业务逻辑计算.calucations将在以下平台上执行:

  • Android应用
  • iOS应用
  • Java EE应用程序容器

业务逻辑不依赖于任何平台特定的细节,但严格来说是"数字运算".

为了避免Java和Objective C的双重实现,这需要精心测试等等,我想创建一个Java库,包含实现并在iOS应用程序中使用它.

最好的方法是什么?为Objective C做一个原生端口会更好吗?以相反的方式做它并在Objective C中编写库并在Android/Java上使用它会更好吗?

Sul*_*han 8

您无法在iOS应用程序中使用Java库.Java需要运行时解释(JRE),而你在iOS上没有.

从技术上讲,您可以将Java库编译为本机代码(有工具),但我不推荐它.

要在Android和iOS之间共享业务代码,最好的解决方案是使用纯C库.您可以使用JNI(NDK for Android)从Java调用C库.

由于Obj-C只是纯C上的一个小对象层,因此您可以从Obj-C轻松使用C库.

您也可以为NDK编译Obj-C,但它比使用C更复杂.