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

Google Play发布Flutter应用遇libflutter.so缺失问题求解决方案

Flutter应用Google Play发布报错libflutter.so找不到的解决方案

问题原因

该错误核心是Android App Bundle的架构分发适配问题:Google Play会根据目标设备的CPU架构拆分分发对应版本的APK,如果打包过程中某类架构(比如Pixel 2的armeabi-v7a)的libflutter.so库未被正确打包进App Bundle,就会导致设备加载时找不到该库。

针对性解决方案(适配Codemagic,无需多次发布验证)

  • 调整Android构建配置
    在android/app/build.gradle的android代码块中添加NDK架构过滤配置,确保打包所有必要架构:

    android {
        // ... 其他配置
        defaultConfig {
            // ... 其他配置
            ndk {
                abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
            }
        }
        // ... 其他配置
        flutter {
            source '../..'
            ndkVersion flutter.ndkVersion
        }
    }
    
  • 修正Codemagic构建命令
    在Codemagic的构建流程中,使用标准的App Bundle构建命令,不要添加拆分架构参数:

    flutter build appbundle --release
    

    避免使用--split-per-abi,让Google Play负责根据设备架构分发对应APK,确保所有架构的库都被包含在bundle中。

  • 本地预验证bundle完整性
    使用bundletool工具生成多架构APK包,提取Pixel 2对应的armeabi-v7a架构APK并解压,检查lib/armeabi-v7a/目录下是否存在libflutter.so,提前验证打包结果,避免消耗Codemagic测试额度:

    # 生成APKs包
    bundletool build-apks --bundle=build/app/outputs/bundle/release/app-release.aab --output=app.apks --ks=你的密钥库路径 --ks-pass=pass:密钥库密码 --ks-key-alias=密钥别名 --key-pass=pass:密钥密码
    # 提取armeabi-v7a架构APK
    bundletool extract-apks --apks=app.apks --output-dir=extracted-apks --abi=armeabi-v7a
    
  • 升级Flutter稳定版
    确保使用的Flutter版本为最新稳定版,避免旧版本中存在的架构打包bug,减少不必要的兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 18:18:23