如果没有正确加载第三方 so 库,编译可以通过,但是一旦运行,就报错,无法找到对应的 so 库。

经过测试,最简单加载第三方 so 库的方法如下,不需要修改 build.gradle:

  • 把 so 库直接放到 app\src\main\jniLibs\armeabi-v7a 目录下面,如果没有目录就创建。

类似如下:

project/
├──libs/
|  └── *.jar       <-- if your library has jar files, they go here
├──src/
   └── main/
       ├── AndroidManifest.xml
       ├── java/
       └── jniLibs/ 
           ├── arm64-v8a/                       <-- ARM 64bit
           │   └── yourlib.so
           ├── armeabi-v7a/                     <-- ARM 32bit
           │   └── yourlib.so
           └── x86/                             <-- Intel 32bit
               └── yourlib.so
  • 重新编译后,验证的方法是把 app\build\outputs\apk\debug 下面的 apk 直接解压,确认 lib 文件夹里面是否有 so 库。

参考

https://stackoverflow.com/questions/24357687/how-to-include-so-library-in-android-studio
https://stackoverflow.com/questions/16683775/include-so-library-in-apk-in-android-studio?rq=1
https://blog.csdn.net/sinat_22657459/article/details/53420047

标签: android_studio

添加新评论