Android Studio开发NDK程序时出现couldn't find "lib××××.so的问题

0人阅读 评论(0) 收藏 举报
分类:

在Android Studio ndk开发中,想在项目中添加一个已经编好的库(lib××××.so),有源文件和头文件;其中,库已经添加,目录也包括了,头文件也已经包含,编译可以通过,但是运行程序时总是crash,错误如下:….couldn’t find “lib××××.so的问题,前面还有很长的部分,但是核心就是这句,可以看出来就是找不到要添加的库lib××××.so;

这是我的CMakeList配置:

include_directories(${COMMON_INC_LIB}/xxxx  (头文件位置,没问题)
                )

link_directories( ${COMMON_INC_LIB}/common_lib/${ANDROID_ABI}add_library( # Sets the name of the library.
             native-lib
             # Sets the library as a shared library.
             SHARED
             # Provides a relative path to your source file(s).
             src/main/cpp/main.cpp
             src/main/cpp/lib××××.cpp

target_link_libraries(
                       native-lib
                       log
                       xxxx (要添加的库)
                       )
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

就是这样的配置,个人觉得好像没有什么问题,但总是crash,终于在万能的CSDN上面找到一些提示,原来我的工程目录下 app/libs/armeabi-v7a中没有把要添加的库放进去,也就是说虽然已经包含了头文件、库目录,但是默认应该是在app/libs中寻找需要的库文件,这是在build.gradle中设定的:

sourceSets{
        main{
            jniLibs.srcDir(['libs'])
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5

就是这个语句进行了这样的设定,当然,如果没有将库放进app/lib目录下也是可以的,但是需要在CMakeList中添加拷贝语句:

#copy libxxxx.so to libs
 add_custom_command(TARGET native-lib
           PRE_BUILD
           COMMAND ${CMAKE_COMMAND} -E copy ${COMMON_INC_LIB}/xxxx/${ANDROID_ABI}/libxxxx.so ${SO_OUTPUT_PATH}/libxxxx.so
           )
  • 1
  • 2
  • 3
  • 4
查看评论

Android Studio 加载 .so库出现couldn't find "*.so"

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com*....
  • DameinMax
  • DameinMax
  • 2015-10-29 18:46:22
  • 6287

在AndroidStudio不能找到so文件问题:couldn't find libweibosdkcore.so

Process: com.example.myweibo, PID: 12241 java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoad...
  • qq_29819253
  • qq_29819253
  • 2015-08-24 20:57:45
  • 5589

UnsatisfiedLinkError、couldn't find "xxx.so"

错误日志:java.lang.UnsatisfiedLinkError: couldn't find "xxx.so"
  • cheng545
  • cheng545
  • 2017-09-04 19:11:19
  • 884

1.1解决Android studio中 java.lang.UnsatisfiedLinkError couldn't find "libcsiipowerenter.so问题

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.h...
  • sxl01890
  • sxl01890
  • 2016-08-24 14:06:28
  • 669

android PathClassLoader couldn't find "libxxx.so"

1. 问题: Android studio中,引用so库时,不能正确加载so。 2.错误详情: com.project.testapp I/System.out: -------------an er...
  • liranke
  • liranke
  • 2016-12-14 13:41:34
  • 1747

部分手机不能加载so文件,couldn't find *.so

背景当我们项目中使用到了.so库时,大部分手机能正常运行,但是部分手机在运行时,比如我们项目中使用到了mupdf这个开源的pdf查看器,里面需要使用到libmupdf.so,此时会报couldn’t ...
  • a631855639
  • a631855639
  • 2016-01-29 11:44:26
  • 6433

Android项目开发填坑记-so文件引发的攻坚战

故事的最初我负责的项目A要求有播放在线视频的功能,当时从别人的聊天记录的一瞥中发现百度有相关的SDK,当时找到的是Baidu-T5Player-SDK-Android-1.4s,项目中Demo的so库...
  • ys743276112
  • ys743276112
  • 2016-03-16 16:41:06
  • 6465

android5.1真机调试报找不到so的错误

android5+ 找不到so文件
  • fan1989800
  • fan1989800
  • 2016-10-09 20:02:39
  • 740

加载so库错误问题“couldn't find "libbmob.so"”

整个app的配置文件的 android { 中添加: sourceSets { main() { jniLibs.srcDirs = ['libs'] }...
  • gaobaoshen1
  • gaobaoshen1
  • 2016-06-06 09:47:28
  • 2961

java.lang.UnsatisfiedLinkError:dalvik.system.PathClassLoader couldn't find .so

10-25 19:42:25.340 28880-28880/com.firs.facedetecttosvr W/System: ClassLoader referenced unknown pat...
  • xx326664162
  • xx326664162
  • 2016-10-25 19:53:17
  • 2587
    个人资料
    持之以恒
    等级:
    访问量: 6327
    积分: 1729
    排名: 2万+
    文章存档
    最新评论