, 就是 打包的 so 动态库没有找到 , 有很多问题都会导致该错误 , 如 build.gradle 中没有配置对应的 CPU 架构 , NDK 中调用的外部动态或静态依赖库的 CPU 架构不匹配...;
这里我遇到的问题是 主应用 与 依赖库的 CPU 架构不匹配导致 ;
创建项目时选择如下选项 , 自动生成的 build.gradle 中默认生成 arm64-v8a, armeabi-v7a, x86..., x86_64 四种 CPU 架构的动态库 , 这就比较坑 , 一般开发时只编译 armeabi-v7a 这一种 CPU 架构的动态库 ;
在主应用中 , 选择了 C++ 支持 , 系统自动生成的配置如下...;
下图是主应用生成的 so 动态库 :
可以明显看到 主应用的依赖库生成了 四种 CPU 架构的动态库 , 我们使用的 libopenssl.so 动态库只有 armeabi-v7a 架构的 ,..., 但是没有对应 so 库 , 那就会出现上述错误 ;
三、解决方案
----
解决方案 : 全部配置 armeabi-v7a 架构 , 这样在所有的手机中只存在 armeabi-v7a 架构 的动态库