在Android Studio 2.2.2中链接共享库(.so)

在Android Studio 2.2.2中链接共享库(.so),android,ffmpeg,android-ndk,cmake,java-native-interface,Android,Ffmpeg,Android Ndk,Cmake,Java Native Interface,我真的被困住了,急切地想要一个答案。 为了解决这个问题,我几乎在网上到处寻找,但没有取得真正的成功 基本上,我已经为android编译了ffmpeg,我正在尝试使用android Studio 2.2.2中的(.so)文件 问题是,当我试图编译代码时,总是会出现这个错误 请注意,我的代码在MSVisualStudio下工作得非常好,我确信它可以正常工作 我认为这个错误意味着我没有将我的共享库(.so)文件链接到我的.cpp文件(如果我错了,请纠正我) 我尝试过的事情: 我已经尝试将我的.so

我真的被困住了,急切地想要一个答案。 为了解决这个问题,我几乎在网上到处寻找,但没有取得真正的成功

基本上,我已经为android编译了ffmpeg,我正在尝试使用android Studio 2.2.2中的(
.so
)文件

问题是,当我试图编译代码时,总是会出现这个错误 请注意,我的代码在MSVisualStudio下工作得非常好,我确信它可以正常工作

我认为这个错误意味着我没有将我的共享库(
.so
)文件链接到我的
.cpp
文件(如果我错了,请纠正我)

我尝试过的事情:

  • 我已经尝试将我的
    .so
    文件包含在
    main/jniLibs
    中,但仍然不起作用

  • 我将
    .so
    文件放在
    app/libs
    中,但仍然没有成功

  • 在cmake中提供了链接规则,例如:

    add_library(B SHARED IMPORTED)
    set_target_properties(B PROPERTIES
         IMPORTED_LOCATION src/main/jniLibs/armeabi-v7a/libavformat-55.so
    )
    include_directories(src/main/cpp/include/)
    target_link_libraries(native-lib B)
    
    这给了我另一个错误,如下所示:

    Error:error: 'src/main/jniLibs/armeabi-v7a/libavformat-55.so', needed by '../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so', missing and no known rule to make it
    
以下是我的项目树的结构:


我真的需要帮助。

最好将代码和错误作为文本放置在可以复制和粘贴的图像上。看看这是否有帮助:这可能很麻烦,很难找到正确的信息。谢谢大家,我已经通过将导入的_位置设置为C:/…./src/main/jniLibs/armeabi-v7a/libavformat-55解决了这个问题。因此,最好将代码和错误作为文本放置在可以复制和粘贴的图像上。看看这是否有帮助:它可以非常灵活,而且很难尝试找到有关如何完成的正确信息。谢谢大家,我已经通过将导入的_位置设置为C:/…./src/main/jniLibs/armeabi-v7a/libavformat-55.so解决了这个问题