在 Intellij IDEA 创建的纯 Java 项目是否可以使用 .so 文件(就像 Android 项目一样)?
网上冲浪我找不到任何相关信息。听起来很奇怪。
更新:
我在 Android 中拥有的是一个简单的脚本:
def ndkBuild;
def ndkBuildingDir = mainSrcDir;
def hasNdk = false;
if (System.env.ANDROID_NDK_HOME != null) {
hasNdk = true;
ndkBuild = new File(System.env.ANDROID_NDK_HOME, ndkBuildFilename())
}
commandLine ndkBuild, "--directory", ndkBuildingDir, "APP_BUILD_SCRIPT=${ndkBuildingDir}/native/Android.mk", "NDK_APPLICATION_MK=${ndkBuildingDir}/native/Application.mk"
而且我找不到任何在 Java 项目中执行此类操作的文档。
最佳答案
简而言之,是的。
但是,它将不再是一个纯 Java 项目,并将引入对编译/编写 native 二进制文件的系统的依赖。
为此,请编写 JNi 代码,就像在 Android 上所做的那样(您似乎对此很熟悉),使用某些编译器标志编译成动态库,然后使用 System.loadLibrary("foo");
在您的 Java 代码中,就像在 Android 项目中一样。
其实还有很多东西,而且有很多 tutorials网上描述了如何做到这一点。我建议在选择 JNI 之前先尝试用 Java 解决问题,因为 JNI 中有很多地方会出错并导致严重的错误。
虽然我从未在 IDEA 中编写过任何 JNI 代码,但我确信这是可能的,但它并不是真正的 C 或 C++ IDE,因此您可能想在该部分使用其他代码。
关于java - Intellij IDEA Java 项目和 JNI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20837981/