今天在做將 Eclipse 環(huán)境遷移到 Android Studio
時(shí)遇到了 load_library(linker.cpp:759): library "libmaliinstr.so" not found
錯(cuò)誤;
因原來項(xiàng)目只有armeabi-v7a
和arm64-v8a
,在嘗試將 armeabi
、x86
等配置刪除后,運(yùn)行還是閃退;
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a'
}
搜索一下,看到知乎@Mariotaku的答案,檢查libs
目錄,確認(rèn)項(xiàng)目中并沒有 libmaliinstr.so
文件;
很是詫異,以前導(dǎo)的Eclipse項(xiàng)目并沒有問題,so,對比了下兩個(gè)項(xiàng)目的build.gradle
文件,發(fā)現(xiàn)了??不同??;
解決辦法
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
因?yàn)?Android Stdio默認(rèn)的庫目錄文件夾名稱為jniLibs
,如果不與libs
關(guān)聯(lián)將導(dǎo)致 Android Studio 不能讀取到原來的so文件,詳情請看文檔:配置構(gòu)建變體。
??????