我正在按照说明将Flutter应用程序部署到Play商店。 https://flutter.dev/docs/deployment/android
我已经到达标题标题“创建密钥库”
系统会提示我输入密码,我的姓名等,并完成该过程中的所有步骤,直到我说“是”,然后收到以下错误消息
[Storing ~/key.jks]
keytool error: java.io.FileNotFoundException: ~\key.jks (The system cannot find the path specified)
java.io.FileNotFoundException: ~\key.jks (The system cannot find the path specified)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(FileOutputStream.java:270)
at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
at java.io.FileOutputStream.<init>(FileOutputStream.java:101)
at sun.security.tools.keytool.Main.doCommands(Main.java:1144)
at sun.security.tools.keytool.Main.run(Main.java:343)
at sun.security.tools.keytool.Main.main(Main.java:336)
我不确定该如何解决。
我尝试使用以下每个命令: “ C:\ Program Files \ Android \ Android Studio \ jre \ bin \ keytool” -genkey -v -keystore〜/ key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
这导致上面的错误。
我也尝试过: “ C:\ Program Files \ Java \ jre-10.0.1 \ bin \ keytool” -genkey -v -keystore〜/ key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
此错误导致以下错误:
[Storing ~/key.jks]
keytool error: java.io.FileNotFoundException: ~\key.jks (The system cannot find the path specified)
java.io.FileNotFoundException: ~\key.jks (The system cannot find the path specified)
at java.base/java.io.FileOutputStream.open0(Native Method)
at java.base/java.io.FileOutputStream.open(Unknown Source)
at java.base/java.io.FileOutputStream.<init>(Unknown Source)
at java.base/java.io.FileOutputStream.<init>(Unknown Source)
at java.base/sun.security.tools.keytool.Main.doCommands(Unknown Source)
at java.base/sun.security.tools.keytool.Main.run(Unknown Source)
at java.base/sun.security.tools.keytool.Main.main(Unknown Source)
我也尝试过将这些目录中的每一个添加到path中,而是发出文档中列出的命令: keytool -genkey -v -keystore〜/ key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
但是这给了我这个错误: 不能将“ keytool”识别为内部或外部命令,
有人遇到过吗?
答案 0 :(得分:0)
在Linux和MacOS中,“〜”是“我的主目录”的快捷方式,因此~/key.jks
扩展为例如/home/fluttercoder/key.jks
。显然,该文件夹在Windows上不存在。
在Windows上选择其他文件夹,例如c:\Users\fluttercoder\keys\
,因此文件变为c:\Users\fluttercoder\keys\key.jks
。 (请注意所有带有空格的Windows文件夹。最好避免使用它们;否则请将其用双引号引起来。)
答案 1 :(得分:0)
根据我的理解,您需要创建keystore(.jks)文件。
- 转到构建->生成签名的APK->选择apk->选择带有文件名的路径(要重新创建)->设置所有参数(必填 信息)->最终选择发布并选中v1和v2->然后 在发布文件夹中找到您的apk->上载该apk以播放商店。
或
只需在命令行下方输入正确的路径
keytool -genkey -v -keystore -keyalg RSA -keysize 2048 -validity 10000 -alias key
:)