Flutter打包APK报错:release签名配置找不到Keystore文件
解决Flutter Release构建签名文件找不到的问题
问题根源
报错里的路径C:\Users\df\AndroidStudioProjects\healthypub\android\app\Users\df\upload-keystore.jks是典型的路径拼接错误——你配置的签名文件路径被系统当成了相对于app模块目录的相对路径,导致路径叠加后找不到真实的keystore文件。
修复步骤
1. 先确定keystore的真实位置
找到你生成的upload-keystore.jks,它的实际路径大概率是以下两种情况之一:
- 直接在用户根目录:
C:\Users\df\upload-keystore.jks - 你手动放到了app模块目录下:
C:\Users\df\AndroidStudioProjects\healthypub\android\app\upload-keystore.jks
2. 修正build.gradle里的路径配置
打开android/app/build.gradle,找到signingConfigs下的release节点,修改storeFile的路径:
情况1:keystore在用户根目录
用绝对路径(注意用正斜杠或者转义反斜杠):
signingConfigs { release { storeFile file('C:/Users/df/upload-keystore.jks') storePassword '你的密钥库密码' keyAlias '你的密钥别名' keyPassword '你的密钥密码' } }
嫌写死路径麻烦的话,也可以用系统环境变量自动获取用户目录:
storeFile file(System.getenv("USERPROFILE") + "/upload-keystore.jks")
情况2:keystore在app模块目录下
直接用相对路径即可:
signingConfigs { release { storeFile file('upload-keystore.jks') storePassword '你的密钥库密码' keyAlias '你的密钥别名' keyPassword '你的密钥密码' } }
3. 重新构建Release包
- 先清理旧的构建缓存:
flutter clean - 再执行Release构建:
flutter build apk --release
额外提醒
- 别把keystore文件提交到版本控制,确保项目的
.gitignore里加上*.jks规则 - 如果你是用
key.properties文件管理签名配置的,也要检查该文件里的storeFile路径,格式和上面的要求一致就行
内容的提问来源于stack exchange,提问作者Albert Tetteh Adjei
相关产品推荐
相关产品推荐

