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

时间:2016-11-21 18:01:36

标签: android ffmpeg android-ndk cmake java-native-interface

我真的陷入困境并渴望得到答案。 我几乎到处都在网上寻找解决这个问题但没有取得真正的成功。

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

问题是当我尝试编译代码时,我不断收到此错误 请注意,我的代码在MS Visual Studio下完美运行,我确信它可以正常工作。

Compile ERROR Message

我认为此错误意味着我没有将我的共享库(.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
    

以下是项目树的结构:

Project structure

我真的需要帮助。

0 个答案:

没有答案