生成〜\ key.jks文件

时间:2019-04-03 12:07:35

标签: android flutter

我正在按照说明将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”识别为内部或外部命令,

有人遇到过吗?

2 个答案:

答案 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)文件。

  
      
  1. 转到构建->生成签名的APK->选择apk->选择带有文件名的路径(要重新创建)->设置所有参数(必填   信息)->最终选择发布并选中v1和v2->然后   在发布文件夹中找到您的apk->上载该apk以播放商店。   

只需在命令行下方输入正确的路径

  

keytool -genkey -v -keystore -keyalg RSA -keysize 2048 -validity 10000 -alias key

:)