天天看點

couldn't find xxx.so

#原因

解壓apk裡面明明有armeabi這些檔案夾,裡面有so檔案. 還是報找不到.

因為android系統支援七種不同的CPU架構 , 他們會分别去以下的檔案夾下找最适合的so檔案.

‘armeabi’, ‘armeabi-v7a’, ‘arm64-v8a’ , ‘x86’, ‘x86_64’, ‘mips’, ‘mips64’

而我引入了一個三方架構 , 他直接在所有檔案夾下都生成了對應的so庫 , 而我用到的so庫隻在’armeabi’, 'armeabi-v7a’裡放置了 , 是以如果手機架構對應的檔案夾是arm64-v8a , 自然是找不到了.

#解決

可以通過以下方式做限制 , 隻生成指定的幾個檔案夾

android {
    defaultConfig {
        ndk{
            abiFilters "armeabi-v7a","armeabi"
             // 還可以添加 
             // 'x86', 'x86_64', 'mips', 'mips64','arm64-v8a'
        }
    }
}