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

Flutter构建AppBundle失败:执行:app:signReleaseBundle任务时触发NullPointerException

Flutter构建AppBundle失败:执行:app:signReleaseBundle任务时触发NullPointerException

看起来你在构建Flutter的Release AppBundle时碰到了签名环节的空指针异常,我帮你梳理几个从你的配置文件里发现的问题和对应的修复方案:

1. 首先排查key.properties里的键名拼写错误

你的key.properties文件里有一个明显的大小写错误:

storePassword=rlacksdn07!
keypassword=jesusmyking07!  # 这里的键名应该是keyPassword(首字母P大写)
keyAlias=upload
storeFile=C:/Users/joshu/upload-keystore.jks

Gradle读取签名配置时是严格区分大小写的,keypassword这个键名不存在,会导致gradle获取不到key密码,进而触发NullPointerException。把这一行改成keyPassword=jesusmyking07!即可。

2. 修复Gradle与Android Gradle Plugin(AGP)的版本不兼容问题

你的配置里存在版本不匹配的情况:

  • 在android/build.gradle中使用的AGP版本是com.android.tools.build:gradle:7.3.0
  • 但gradle-wrapper.properties里的Gradle版本是gradle-8.5-rc-1

AGP和Gradle有严格的版本对应关系,7.3.0的AGP只能搭配7.3~7.4之间的Gradle版本,高版本的Gradle会导致构建时出现各种异常。你可以二选一:

  • 方案A:降低Gradle版本,修改gradle-wrapper.properties里的distributionUrl为:
    distributionUrl=https://services.gradle.org/distributions/gradle-7.4-all.zip
    
  • 方案B:升级AGP版本到8.0+(对应Gradle 8.0+),修改android/build.gradle中的AGP依赖为:
    classpath 'com.android.tools.build:gradle:8.0.2'
    

另外注意:你的android/gradle.properties里重复写了distributionUrl,这一行是无效的,建议删掉,只保留gradle-wrapper.properties里的配置。

3. 确认Keystore文件路径的正确性

你的storeFile用了绝对路径C:/Users/joshu/upload-keystore.jks,请务必确认:

  • 这个路径下确实存在upload-keystore.jks文件
  • 用户名joshu拼写正确(注意Windows用户名的大小写)
  • 文件没有被移动或者重命名

如果觉得绝对路径容易出问题,可以把keystore文件复制到android目录下,然后修改key.properties里的路径为相对路径:

storeFile=upload-keystore.jks

4. 优化Debug签名配置(可选但推荐)

你的Debug签名配置也用了自定义的keystore,其实Debug模式下Android会自动生成默认的debug keystore,没必要用自定义的,反而可能引发冲突。可以把build.gradle里的signingConfigs.debug删掉,让Debug模式使用默认签名:

signingConfigs {
    release {
        keyAlias keystoreProperties['keyAlias']
        keyPassword keystoreProperties['keyPassword']
        storeFile file(keystoreProperties['storeFile'])
        storePassword keystoreProperties['storePassword']
    }
}

buildTypes {
    debug {
        // 这里不需要指定signingConfig,gradle会自动用默认的debug签名
    }
    release {
        minifyEnabled true
        shrinkResources true
        signingConfig signingConfigs.release
    }
}

最后执行清理和重新构建

修改完以上配置后,先执行清理命令:

flutter clean

然后重新构建AppBundle:

flutter build appbundle

备注:内容来源于stack exchange,提问作者CeSWo _

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 08:49:30