【发布时间】:2017-06-05 01:30:39
【问题描述】:
我目前收到以下错误:
java.lang.UnsatisfiedLinkError: nativeLibraryDirectories=[/data/app/com.example.ryane.jzy-1/lib/arm, /vendor/lib, /system/lib] couldn't find "libgluegen-rt.so"
在执行以下代码行时
System.loadLibrary("gluegen-rt");
我在 build.gradle 中包含以下内容
sourceSets {
main {
jniLibs.srcDirs = ["src/main/jniLibs", "$buildDir/native-libs"]
}
}
并将我的 libgluegen.so 放在 src/main/jniLibs 中。根据错误,它似乎没有在我指定的目录中查找。有没有我遗漏的步骤?
【问题讨论】:
-
尝试将
jni.srcDirs = []添加到build.gradlesourceSets.main -
不幸的是,我仍然有同样的错误。我一直在阅读并注意到很多人在使用本机库时提到 .mk 文件。那些是必需的吗? @RustFisher
-
.mk文件意味着您自己编译.so。那么您的项目中有本地库(如 C/C++ 文件)还是只有.so文件?您需要使用 NDK 工具编译 C/C++ 源文件。 -
没有C/C++文件,只有.so
-
你能粘贴
.so文件路径吗?