[bug记录]Android5+运行带有so文件的项目时候找不到so文件异常

问题描述

最近做项目出了一个bug项目中用到so文件,在5.0以上的手机上会报一个初始化异常错误,并提示找不到so文件。lib里目录结构类似如下
[bug记录]Android5+运行带有so文件的项目时候找不到so文件异常_第1张图片
在Android5以下都没有问题,在5.0以上会报错,并提示找不到second.so文件。

解决方法

移除armeabi-v7a文件夹或者保证armeabi-v7a和armeabi两个文件夹下的so文件一致,即数量和名称都一样。

问题原因

原因是在stackoverflow找到的,大致意思如下:Android中的so文件都是在Android APP安装的的时候复制到data/data/包名 下边的。Android 5以前的Android系统会先后查看armeabi-v7a和armeabi文件夹下的so文件,取其并集放置到APP目录下,而Android5以后的系统会先检查armeabi-v7a文件夹,如果有so文件,就只会把armeabi-v7a目录下的so文件拷贝懂啊APP目录下,如果armeabi-v7a文件夹下没有so文件,则会拷贝armeabi中的so文件。

你可能感兴趣的:(Android项目知识积累)