执行flutter build appbundle时遇NullPointerException错误求助
解决Flutter build appbundle时的NullPointerException签名错误
问题核心分析
当你在Google Play启用应用签名密钥托管后,本地签名配置必须对应上传密钥(而非Google生成的应用签名密钥),如果本地配置与上传密钥不匹配、keystore信息错误或缓存异常,都会触发签名任务的NullPointerException。
具体解决步骤
确认本地签名配置对应上传密钥
打开android/app/build.gradle,检查signingConfigs块中的参数:signingConfigs { release { storeFile file("your-upload-keystore.jks") storePassword "your-store-password" keyAlias "your-key-alias" keyPassword "your-key-password" } }确保所有信息都与你用于上传到Google Play的上传密钥keystore一致,不要使用Google生成的应用签名密钥信息。
验证keystore与Google Play上传密钥匹配
执行命令获取keystore的SHA-1指纹:keytool -list -v -keystore your-upload-keystore.jks对比Google Play后台的上传密钥指纹(路径:应用 → 应用签名 → 上传密钥证书指纹),确保两者完全一致。
清理项目缓存后重新构建
依次执行以下命令:flutter clean rm -rf android/.gradle # Linux/macOS适用,Windows手动删除android\.gradle目录 flutter build appbundle --release检查release构建类型的签名配置
确保buildTypes.release正确引用签名配置:buildTypes { release { signingConfig signingConfigs.release // 其他构建配置 } }避免signingConfig留空或指向不存在的配置项。
确认keystore文件路径正确性
如果使用相对路径,检查文件是否存在于指定位置,可临时改用绝对路径测试,排除路径错误问题。
内容的提问来源于stack exchange,提问作者themag
相关产品推荐
相关产品推荐

