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

Flutter应用Google Play生产环境崩溃:libflutter.so缺失问题求助

解决Flutter部署Google Play后"couldn't find libflutter.so"崩溃问题

以下是几个经过验证的解决方案,按优先级尝试:

  • 禁用Google Play的ABI拆分
    Google Play的App Bundle拆分机制可能导致部分ABI的包缺失libflutter.so。在android/app/build.gradle中添加配置禁用ABI拆分:

    android {
        // 其他配置...
        bundle {
            abi {
                enableSplit = false
            }
        }
    }
    

    重新构建App Bundle并上传,这样生成的通用包会包含所有指定ABI的so文件。

  • 验证编译产物中的so文件
    执行release编译后,解压生成的APK或App Bundle(可使用bundletool导出APK),检查lib/[abi]/目录下是否存在libflutter.so。示例命令:

    # 导出App Bundle为APK集合
    bundletool build-apks --bundle=build/app/outputs/bundle/release/app-release.aab --output=app.apks --ks=your-keystore.jks --ks-pass=pass:your-password --ks-key-alias=your-alias --key-pass=pass:your-key-password
    # 解压APK集合并查看指定ABI的包内文件
    unzip app.apks -d app-apks
    unzip app-apks/split_arm64-v8a.apk -d arm64-apk
    ls arm64-apk/lib/arm64-v8a/
    

    如果找不到libflutter.so,说明编译过程中so文件未正确打包,需进一步排查编译配置。

  • 指定稳定NDK版本
    不兼容的NDK版本可能导致so文件打包异常。在android/build.gradle中指定Flutter官方推荐的稳定NDK版本:

    buildscript {
        ext {
            // 其他版本配置...
            ndkVersion = "25.2.9519653"
        }
    }
    

    同时确保android/app/build.gradle中没有覆盖该版本配置。

  • 彻底清理缓存后重建
    旧编译缓存可能引发异常,执行以下命令清理后重新构建:

    flutter clean
    rm -rf android/.gradle android/app/build
    flutter pub get
    flutter build appbundle --release
    
  • 检查签名流程是否篡改文件
    确保使用Flutter官方签名流程,签名后不要用第三方工具修改APK/App Bundle。若使用Google Play自动签名,需检查Console中的签名配置是否正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 03:23:21