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

如何向Android App Bundle(AAB)文件中添加原生调试符号?

Android Studio 4.1.x环境下AAB未包含原生调试符号的解决方案

核心问题根源

你使用的Android Gradle Plugin(AGP)4.1.3版本存在功能限制:debugSymbolLevel配置项虽然在该版本已被加入,但AGP 4.1.x并未真正实现自动将原生调试符号打包进AAB的逻辑,该功能是从AGP 4.2版本才正式落地生效的,所以添加配置后也不会生效。

解决方案

方案1:升级AGP版本(推荐)

这是最简便的长期解决方案,操作步骤如下:

  • 先将项目的Gradle版本升级到6.7.1及以上,和AGP 4.2.x版本匹配
  • 修改项目根目录build.gradle中的AGP版本为4.2.2(或更高的稳定版,注意和Gradle版本适配即可)
  • 保留app模块build.gradle中的配置:
android {
    buildTypes {
        release {
            ndk {
                debugSymbolLevel = 'SYMBOL_TABLE' // 也可选择'FULL',前者仅包含符号表体积更小,后者包含完整调试信息可支撑更深度的问题排查
            }
        }
    }
}
  • 重新构建Release版AAB即可,打包后AAB体积会有明显增加,说明符号已经成功打入。

方案2:不升级AGP,手动上传调试符号

如果暂时不方便升级AGP,可以手动导出符号文件上传到Google Play Console:

  • 找到项目中未剥离调试符号的原生库文件:
    • 若使用CMake编译,路径为app/build/intermediates/cmake/release/obj/
    • 若使用ndk-build编译,路径为app/build/intermediates/ndkBuild/release/obj/
      该目录下会有各个CPU架构(armeabi-v7a、arm64-v8a等)对应的文件夹,里面的.so文件就是带完整符号的版本
  • 按照架构文件夹的目录结构打包为zip文件,注意zip的根目录直接是各个架构的文件夹,不要额外嵌套层级
  • 进入Google Play Console的对应版本提交页面,找到「调试符号」上传入口,上传刚才打包的zip文件即可消除警告。

验证方法

如果使用自动打包的方案,可以在构建完成后手动解压AAB文件,检查是否存在BUNDLE-METADATA/com.android.tools.build.debugsymbols/目录,目录下存在对应架构的符号文件即为配置生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 05:15:03