根据报错信息,你的应用在尝试加载 'D:/share/syyWorks/safecard/ProTest/app/src/main/obj/local/arm64-v8a/libhello.so' 库时失败了。这可能是因为库文件不存在或路径不正确。

为了解决这个问题,你可以尝试以下几个步骤:

  1. 确保库文件 'libhello.so' 存在于路径 'D:/share/syyWorks/safecard/ProTest/app/src/main/obj/local/arm64-v8a/' 下。检查文件是否存在,如果不存在,可能需要重新编译库文件。

  2. 检查路径是否正确。确保路径中不包含任何拼写错误,并且大小写匹配。

  3. 检查你的 'Android.mk' 文件。确保你正确地声明了库文件的位置和名称。例如,你可以在 'Android.mk' 的 'LOCAL_MODULE' 属性中指定库文件的名称,如下所示:

    LOCAL_PATH := $(call my-dir)
    include $(CLEAR_VARS)
    LOCAL_MODULE := hello
    LOCAL_SRC_FILES := path/to/hello.c
    include $(BUILD_SHARED_LIBRARY)
    

    确保 'LOCAL_MODULE' 的名称与加载库文件时使用的名称相匹配。

  4. 检查你的 'build.gradle' 文件。确保你正确地配置了 'jniLibs' 目录,以便 Gradle 能够正确地将库文件打包到 APK 中。例如,你可以在 'build.gradle' 文件中添加以下内容:

    android {
        // ...
        sourceSets {
            main {
                jniLibs.srcDirs = ['src/main/obj/local']
            }
        }
    }
    

    确保 'jniLibs.srcDirs' 的路径与库文件所在的路径相匹配。

希望以上步骤能够帮助你解决问题。如果问题仍然存在,请提供更多的信息,例如你的 'Android.mk' 和 'build.gradle' 文件的完整内容,以便我们能够更好地帮助你。

Android 编译 SO 库报错: dlopen failed: library 'libhello.so' not found 解决方法

原文地址: https://www.cveoy.top/t/topic/Nno 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录