gpt4 book ai didi

java - Intellij IDEA Java 项目和 JNI

转载 作者:行者123 更新时间:2023-11-30 09:13:49 25 4
gpt4 key购买 nike

在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com