You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter应用在x86设备崩溃:libflutter.so缺失问题求助

问题描述

Flutter应用在x86架构Android设备上启动崩溃,报错信息如下:

java.util.concurrent.ExecutionException: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/-1/base.apk"],nativeLibraryDirectories=[/data/app/-1/lib/x86, /data/app/-1/base.apk!/lib/x86, /system/lib, /vendor/lib]]] couldn't find "libflutter.so"
at java.util.concurrent.FutureTask.report(FutureTask.java:94)
at java.util.concurrent.FutureTask.get(FutureTask.java:164)
at mc.f.g()
at io.flutter.embedding.engine.a.()
at io.flutter.embedding.engine.a.()
at io.flutter.embedding.android.d.G()
at io.flutter.embedding.android.d.p()
at io.flutter.embedding.android.h.K2()
at androidx.fragment.app.Fragment.p3()
at androidx.fragment.app.u.c()
at androidx.fragment.app.u.m()
at androidx.fragment.app.m.d0()
at androidx.fragment.app.m.d1()
at androidx.fragment.app.m.a0()
at androidx.fragment.app.m.S()
at androidx.fragment.app.m.y()
at androidx.fragment.app.h.c()
at androidx.fragment.app.e.onStart()
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1248)
at android.app.Activity.performStart(Activity.java:6679)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2609)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
Caused by: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/
-1/base.apk"],nativeLibraryDirectories=[/data/app/-1/lib/x86, /data/app/-1/base.apk!/lib/x86, /system/lib, /vendor/lib]]] couldn't find "libflutter.so"
at java.lang.Runtime.loadLibrary0(Runtime.java:972)
at java.lang.System.loadLibrary(System.java:1530)
at io.flutter.embedding.engine.FlutterJNI.loadLibrary()
at mc.f$a.b()
at mc.f$a.call()

已尝试方案

  • 在应用级build.gradle中添加配置:defaultConfig {ndk.abiFilters 'armeabi-v7a', 'arm64-v8a','x86_64'}
  • 尝试过相关Issue的解决方案,但崩溃问题仍未解决

可行解决办法

  1. 补充x86架构的ABI支持
    当前配置仅包含x86_64,而x86设备需要对应的x86架构库,修改build.gradle的abiFilters:
    defaultConfig {
        ndk {
            abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
        }
    }
    
  2. 升级Flutter SDK到稳定版
    部分旧版SDK对x86架构的编译支持存在缺陷,执行命令升级:
    flutter upgrade
    
  3. 彻底清理并重新构建
    清理项目缓存后重新编译,避免旧缓存干扰:
    flutter clean
    flutter pub get
    flutter build apk
    
  4. 检查APK拆分配置
    若开启了APK拆分,确保x86架构被包含在内,避免打包时遗漏:
    splits {
        abi {
            enable true
            reset()
            include 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
            universalApk true  // 生成包含所有架构的通用APK,便于测试
        }
    }
    
  5. 验证编译产物
    构建完成后解压APK,查看lib/x86目录下是否存在libflutter.so文件,若不存在则需检查Flutter编译环境是否正常。

内容的提问来源于stack exchange,提问作者A User

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 17:17:21