Flutter 解決運行時錯誤 java.lang.UnsatisfiedLinkError...couldn't find "libflutter.so"


集成融雲的時候,運行時報錯 couldn't find "libflutter.so"

簡單的說就是沒有找到 flutter.so的庫,為什么會這樣子呢?因為我在集成融雲的時候,有指明使用,很多的so庫:

但實際和flutter一起打包編譯的時候,flutter並沒有每個平台都編譯成flutter.so的庫,所以實際運行的時候,就會出錯。

解決方案:

  1. 打開你的 android 工程的主 module(默認是app) 下的 build.gradle
  2. 修改 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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM