flutter - 任务 ':app:packageRelease' 的 Flutter 执行失败。无效的密钥库格式
问题描述
我对 Flutter 有点陌生,当我想使用“Flutter build apk”生成一个 apk 时,我收到以下错误:
Execution failed for task 'app: packageRelease'.
com.android.ide.common.signing.KeytoolException: Failed to read key test from store "C: \ path \ key.properties": Invalid keystore format
谢谢
解决方案
这可能是 Flutter 和 Keytool 使用的 Java 版本之间的冲突。至少在我的情况下是这样。
1.检查Flutter JDK版本
flutter doctor -v
就像Java version OpenJDK Runtime Environment (build 1.8...
1.8 意味着 Java 8。
2.检查你电脑的JDK版本
java -version
在我的情况下,它是 Java 16,所以我必须删除它(指令)并安装 OpenJDK 8。
3.安装OpenJDK
MacOS:https ://formulae.brew.sh/formula/openjdk@8
窗户:说明
4.更新JAVA_HOME
苹果系统:
/usr/libexec/java_home -V // this will show you jdk versions
export JAVA_HOME=`/usr/libexec/java_home -v 1.8` // specify your version here
窗户:说明
5.重新创建密钥库
删除 .jks 文件并创建一个新文件:https ://flutter.dev/docs/deployment/android#create-an-upload-keystore
推荐阅读
- json - 使用 POST 方法将带有 JSONObject Volley 库的数据发送到服务器
- reactjs - React Native,映射 JSON
- javascript - 查询数据库时 AJAX jQuery 不起作用
- java - 比较2个数组并区分Java中相同位置的相同值和不同位置的相同值
- javascript - 为什么光标不只定位在 FireFox 的末尾?
- python - 有没有办法将一个 Pytorch 模型的所有参数复制到另一个专门的批量标准化平均值和标准?
- broadcast - 后台服务不工作应用程序在 android 8.0.1 中崩溃
- sql - 如何在 PostgreSQL 查询中跳过空值?
- angular - 如何从Angular 6中的html文件中的对象获取值
- php - 转换日期 (PHP)