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

为何添加debuggable true后React Native(Expo)的AAB包未签名?

问题原因

手动在build.gradle里添加debuggable true会强制切换到Debug构建模式,而Expo默认仅为Release模式的包使用正式签名密钥完成签名。Debug模式下要么使用系统默认的调试密钥(不被应用商店认可),要么未配置有效签名,直接导致生成的AAB包处于未签名状态,自然无法通过应用商店校验及本地jarsigner验证。

解决办法

不要直接硬改build.gradle中的debuggable配置,推荐以下两种可行方案:

  • 通过EAS Build命令启用调试并保留签名
    执行构建时添加--debug参数,既能开启调试功能,又能沿用Release模式的签名流程:

    eas build --platform android --debug
    

    这种方式生成的AAB包会正常使用你的正式签名密钥,同时具备调试能力。

  • 条件化配置Gradle的debuggable参数
    若一定要修改Gradle配置,需确保Release变体开启debuggable时保留正式签名配置:

    android {
      buildTypes {
        release {
          signingConfig signingConfigs.release // 必须保留正式签名配置
          debuggable true // 按需开启调试模式
        }
      }
    }
    

    注意:前提是你已正确配置signingConfigs.release中的密钥信息,否则仍会出现未签名问题。

核心逻辑

Expo的构建流程中,Debug与Release模式的签名规则是相互独立的:

  • Debug模式默认使用Android自带的调试密钥,该密钥不符合应用商店的签名要求;若强制开启debuggable却未给Debug模式配置正式签名,包会直接处于无签名状态。
  • Release模式会自动调用你在EAS或本地配置的正式签名密钥,生成符合应用商店要求的签名包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 07:15:02