一、平臺(tái)問(wèn)題
Error:error: '../../../../src/main/jniLibs/x86/libstblur_preview_api.so', needed by '../../../../build/intermediates/cmake/debug/obj/x86/libjnistblur_preview_api.so', missing and no known rule to make it
遇到好幾次這個(gè)情況了,之前好像做了記錄,但是總找不到,再記一次。
看日志,這里 /x86/ 這個(gè)是關(guān)鍵,還是平臺(tái)支持問(wèn)題。目前這個(gè)項(xiàng)目只支持'armeabi-v7a','armeabi' 這兩個(gè)平臺(tái),所以在CMakelists.txt里也是只配置了這兩個(gè)平臺(tái)的支持庫(kù)。
所以與此同步,在build.gradle中,也是要指定ndk的平臺(tái),否則它默認(rèn)編譯全平臺(tái),就會(huì)報(bào)錯(cuò)
ndk {
// moduleName "stblur_preview_api"
//過(guò)濾,只使用這個(gè)版本的庫(kù),否則默認(rèn)的可是4個(gè)平臺(tái)
abiFilters 'armeabi-v7a','arm64-v8a'
}
二、代碼緩存問(wèn)題
報(bào)一個(gè)c++的類missing and no known rule to make it,但是這個(gè)類我確認(rèn)過(guò)沒(méi)有地方使用,已經(jīng)刪掉了。修正方式如下圖,清一下C++的緩存就可以了。

image.png