JNI技术。开发时在Android或Linux平台上,所以呢?

Posted

技术标签:

【中文标题】JNI技术。开发时在Android或Linux平台上,所以呢?【英文标题】:JNI tech. on Android or Linux platform when development ,so? 【发布时间】:2010-11-02 16:43:38 【问题描述】:

我在为 android 平台开发原生 C/C++ 共享库时遇到问题。众所周知,Android 使用 Java 语言进行上层开发。现在我已经使用它的仿生库将我使用 ASCII C/C++ 的引擎代码移植到了 Android,但是当需要设计用户界面时,我必须使用 JNI 来调用我的引擎代码。

据我所知,这是唯一的选择。问题是我的引擎拥有数百个导出 API。如果我使用 JNI 技术。我需要将这些 API 封装到一个新的共享库中使用,这将花费大量时间进行开发和测试。

有人可以对这种情况提出一些建议吗?顺便说一下,我不熟悉 java 或 JNI 技术。

提示:

我在网上搜索了一些JNI生成器的开源,例如JNative等,直到现在我不知道它是否适合Android平台。

【问题讨论】:

【参考方案1】:

您可以轻松使用 SWIG www.swig.org,它将为您生成 JNI 绑定。 该操作中没有任何特定于 android 的内容,因此它可以开箱即用。

【讨论】:

真的吗?如果swing能解决这个问题那真是太棒了,我会检查细节,谢谢Reflog。

以上是关于JNI技术。开发时在Android或Linux平台上,所以呢?的主要内容,如果未能解决你的问题,请参考以下文章

Android .so

Android NDK开发入门

Android JNI编程——使用AndroidStudio编写第一个JNI程序

Android平台Native开发与JNI机制详解

深入浅出 - Android系统移植与平台开发- Android JNI机制

JNI_2