Flutter打包Release AAB时触发NullPointerException错误求助
Flutter打包AAB时':app:signReleaseBundle'任务NullPointerException解决办法
核心问题定位
从你提供的build.gradle代码来看,签名配置中storeFile设置了null的 fallback 值:
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
当key.properties中未配置storeFile,或配置的文件路径无效时,storeFile会被设为null,直接导致签名过程触发空指针异常。
具体修复步骤
检查
key.properties文件
确保文件存在于项目根目录,且包含完整的签名配置项:storePassword=你的密钥库密码 keyPassword=你的密钥密码 keyAlias=你的密钥别名 storeFile=密钥库文件的绝对路径(或相对项目根目录的路径)注意:
storeFile路径必须正确,比如密钥库放在项目根目录可写storeFile=./key.jks,或使用完整系统路径如/Users/xxx/key.jks。修改
build.gradle签名配置
移除storeFile的nullfallback,确保必须加载有效密钥库文件,避免空值:signingConfigs { release { keyAlias keystoreProperties['keyAlias'] keyPassword keystoreProperties['keyPassword'] storeFile file(keystoreProperties['storeFile']) storePassword keystoreProperties['storePassword'] } }这样若
key.properties中storeFile配置错误,Gradle会直接抛出明确的文件不存在错误,而非模糊的空指针。验证密钥库文件有效性
确认密钥库文件存在于配置路径下且未损坏,可通过keytool命令验证:keytool -list -v -keystore 你的密钥库路径重新执行打包命令
先清理构建缓存再打包:flutter clean flutter build appbundle --release
额外排查方向
若上述步骤无效,执行带堆栈跟踪的命令获取详细错误信息:
flutter build appbundle --release --stacktrace
根据堆栈信息进一步排查Gradle版本、Flutter SDK版本不兼容等潜在问题。
内容的提问来源于stack exchange,提问作者sonalika
相关产品推荐
相关产品推荐

