今天在做将 Eclipse 环境迁移到 Android Studio
时遇到了 load_library(linker.cpp:759): library "libmaliinstr.so" not found
错误;
因原来项目只有armeabi-v7a
和arm64-v8a
,在尝试将 armeabi
、x86
等配置删除后,运行还是闪退;
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a'
}
搜索一下,看到知乎@Mariotaku的答案,检查libs
目录,确认项目中并没有 libmaliinstr.so
文件;
很是诧异,以前导的Eclipse项目并没有问题,so,对比了下两个项目的build.gradle
文件,发现了👀不同😁;
解决办法
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
因为 Android Stdio默认的库目录文件夹名称为jniLibs
,如果不与libs
关联将导致 Android Studio 不能读取到原来的so文件,详情请看文档:配置构建变体。
😊😊😊
网友评论