今天在做將 Eclipse 環(huán)境遷移到 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
文件;
很是詫異,以前導(dǎo)的Eclipse項目并沒有問題,so,對比了下兩個項目的build.gradle
文件,發(fā)現(xiàn)了??不同??;
解決辦法
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
因為 Android Stdio默認的庫目錄文件夾名稱為jniLibs
,如果不與libs
關(guān)聯(lián)將導(dǎo)致 Android Studio 不能讀取到原來的so文件,詳情請看文檔:配置構(gòu)建變體。
??????