java.lang.UnsatisfiedLinkError : dlopen failed: . 所以库是 64 位而不是 32 位

标签 java android android-studio android-ndk java-native-interface

我有一个 C 库,我希望将其包装在 JNI 中并从我的 android 项目中调用。 .so 文件是以下架构:i386:x86-64。每当我将其添加到 src/main/jniLibs/arm64-v8a|armeabi-v7a|x86 文件夹内的项目时,我都会收到一条错误消息,指出 .so 文件是 64 位而不是 32 位。我尝试交叉引用这个问题,并注意到人们通常会遇到相反的问题,其中 .so 是 32 位而不是 64 位。我尝试梳理 Android 文档,看看我哪里搞砸了,但似乎找不到解决方案。

最佳答案

64 位库不应位于 src/main/jniLibs/armeabi-v7a 文件夹中。如果您的设备支持 arm64-v8a ABI,则应用程序将使用 64 位库。如果设备不兼容,则无法使用该库。

关于java.lang.UnsatisfiedLinkError : dlopen failed: . 所以库是 64 位而不是 32 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50109400/

相关文章:

android-studio - LiveQuery 不起作用,如果提供了 ParseConnectivityProvider

java - 在 stdin 上阻塞使 Java 进程需要多 350 毫秒才能退出

Java HashMap - 如何同时获取然后从 HashMap 中删除随机条目?

android - 设置 Android 对话框 Activity 位置

android - 远程服务如何向绑定(bind)的 Activity 发送消息?

java - 从 SQL 数据库中删除条目后出现空指针异常

java - Firebase 身份验证错误 Android Studio

java - JDBC/MYSQL 通信链路故障(ECLIPSE/ANDROID)

java - 我如何设法返回到行代码?

android - 关于 drawable-hdpi、drawable-mdpi、drawable-ldpi 和 drawable 的混淆