集成融雲的時候,運行時報錯 couldn't find "libflutter.so"
簡單的說就是沒有找到 flutter.so的庫,為什么會這樣子呢?因為我在集成融雲的時候,有指明使用,很多的so庫:
但實際和flutter一起打包編譯的時候,flutter並沒有每個平台都編譯成flutter.so的庫,所以實際運行的時候,就會出錯。
解決方案:
- 打開你的 android 工程的主 module(默認是app) 下的
build.gradle
- 修改
abiFilters
字段, 只指定單一架構. 針對手機的應用推薦使用"armeabi-v7a"
; 針對平板的應用推薦使用x86
開發小技巧:如何在android studio中直接查看打包的apk libs下是否有so庫:Bulid -> Analyze APK
實際測試了一下:一個空的flutter的項目,debug包:
release包:
更改配置:
buildTypes {
debug {
ndk {
abiFilters "x86","x86_64","arm64-v8a"
}
}
release {
ndk {
abiFilters "armeabi-v7a"
}
}
}
參考資料:
https://juejin.im/post/5c2260e9e51d45778a5c8cd2