1.放在jniLibs中,切換到Android選項(xiàng)卡看到正確導(dǎo)入了so庫襟企,gradle也沒有添加jniLibs.srcDirs的代碼寒随,
但是運(yùn)行之后還是會報錯library "xxx.so" not found
2.亦或者在app下創(chuàng)建libs目錄爹土,聲明jniLibs.srcDirs也還是運(yùn)行報錯找不到so庫
解決辦法:
在gradle中的android-defaultConfig下配置對應(yīng)的abiFilters
補(bǔ)充:
記錄另外遇到的一種情況:項(xiàng)目中存在armeabi评姨、armeabi-v7a架構(gòu)的so庫难述,在armeabi-v7a設(shè)備上使用AndroidStudio的綠色三角形運(yùn)行項(xiàng)目正常,app\build\outputs\apk目錄下的apk解壓后只存在armeabi-v7a架構(gòu)的so吐句。但是換到armeabi-v8a設(shè)備上運(yùn)行則會報錯找不到so庫胁后,app\build\outputs\apk目錄下的apk解壓后不存在so庫。
解決辦法同樣是配置ndk abiFilters!
我的理解是綠色Run模式下蕴侧,默認(rèn)是只打包設(shè)備對應(yīng)CPU架構(gòu)的so到apk中择同,如果在armeabi-v8a設(shè)備上運(yùn)行時項(xiàng)目中剛好沒有armeabi-v8a架構(gòu)的so庫則會報錯两入。而添加了ndk abiFilters配置則不管是綠色Run還是打包release都會根據(jù)你配置指定的CPU架構(gòu)把對應(yīng)的SO庫打包到APK中净宵。