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

含原生代码的App经Google Play Bundle拆分后无法运行,求解决方案

解决Google Play App Bundle架构拆分问题的方案
  • 禁用ABI拆分并确保包含32/64位架构
    在模块级build.gradle(Groovy)或build.gradle.kts(Kotlin)的android代码块中添加以下配置,强制App Bundle包含所有指定架构的原生库,同时满足Google对32位和64位架构的要求:

    Groovy配置示例:

    android {
        // 其他已有配置
        bundle {
            abi {
                enabled = false // 关闭ABI拆分,Bundle将包含所有指定架构的库
            }
        }
        ndk {
            abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
        }
    }
    

    Kotlin DSL配置示例:

    android {
        // 其他已有配置
        bundle {
            abi {
                isEnabled = false
            }
        }
        ndk {
            abiFilters += listOf("x86", "x86_64", "armeabi-v7a", "arm64-v8a")
        }
    }
    

    这样生成的App Bundle会包含所有指定架构的原生库,Google Play将提供通用APK(包含所有架构)供用户下载,既符合32/64位要求,又避免了拆分后的加载问题。

  • 检查原生库加载逻辑
    确保App加载原生库时使用System.loadLibrary("your-library-name"),不要硬编码文件路径。系统会自动根据设备架构从正确的目录加载对应的库文件,硬编码路径容易导致拆分后找不到库的问题。

  • 验证App Bundle内容
    使用bundletool工具生成通用APK并检查内容,确认所有架构的原生库都已正确打包:

    bundletool build-apks --bundle=your-app.aab --output=your-app.apks --mode=universal
    

    解压生成的your-app.apks中的universal APK,查看lib目录下是否存在x86、x86_64、armeabi-v7a、arm64-v8a四个文件夹及对应的.so文件,确保打包无误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 01:15:18