【问题标题】:Keytool command failureKeytool 命令失败
【发布时间】:2023-12-04 17:19:01
【问题描述】:

我尝试为我的 Flutter 项目(在 Windows 上)创建一个密钥库文件,这是在 Google Play 商店上发布应用程序所必需的。

在颤振网站上,他们建议使用以下命令:

keytool -genkey -v -keystore c:\Users\USER_NAME\key.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias key

该指令下方是一些附加信息:


注意:

keytool 命令可能不在您的路径中 - 它是 Java 的一部分,它作为 Android Studio 的一部分安装。对于具体路径,运行 flutter doctor -v 并找到打印在“Java binary at:”之后的路径。然后使用该完全限定的路径用 keytool 替换 java(最后)。如果您的路径包含以空格分隔的名称,例如 Program Files,请使用适合平台的表示法作为名称。例如,在 Mac/Linux 上使用 Program\ Files,在 Windows 上使用“Program Files”。

-storetype JKS 标记仅适用于 Java 9 或更高版本。从 Java 9 版本开始,密钥库类型默认为 PKS12。


第一个命令对我不起作用。这就是我决定按照上述步骤操作的原因。

这是我的颤振医生 -v 与 java 路径:

[√] Android 工具链 - 为 Android 设备开发(Android SDK 版本 30.0.3) • Android SDK 位于 C:\Users\Erick\AppData\Local\Android\sdk • 平台 android-30,构建工具 30.0.3 • Java 二进制文件位于:C:\Program Files\Android\Android Studio\jre\bin\java • Java 版 OpenJDK 运行时环境(内部版本 1.8.0_242-release-1644-b01) • 接受所有 Android 许可证。

下面是应该起作用的命令:

keytool -genkey -v -keystore "c:\Program Files\Android\Android Studio\jre\bin\keytool" -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias key

可悲的是,那个也行不通。我什至向我的一位经验丰富的朋友寻求帮助,但他不知道。

这是我尝试创建密钥文件后终端告诉我的信息(项目名称为 sankofa):

C:\Users\Erick\StudioProjects\sankofa>keytool -genkey -v -keystore "c:\Program Files\Android\Android Studio\jre\bin\keytool" -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 - 别名键 Der Befehl "keytool" ist entweder falsch geschrieben oder konnte nicht gefunden werden.

英文:“keytool”命令拼写错误或 找不到。

谢谢。

【问题讨论】:

    标签: keystore


    【解决方案1】:

    试试这个,复制 c:\Program Files\Android\Android Studio\jre\bin 并附加到环境变量 Path 中,然后打开新终端并输入keytool,如果成功则可以继续执行原来的操作正在做..试着让我知道

    【讨论】:

    • 感谢您的回答,但遗憾的是它不起作用。
    • 这里是我的路径变量:%USERPROFILE%\AppData\Local\Microsoft\WindowsApps C:\src\flutter\flutter\bin C:\Program Files\Android\Android Studio\jre\bin\ java C:\Users\Erick\AppData\Roaming\npm 而你让我输入的那个:C:\Program Files\Android\Android Studio\jre\bin
    • 问题是它在几周前起作用了。但是我将项目的代码复制到一个新的。这就是为什么我需要创建一个新的密钥库,因为我删除了旧的。
    • @Molgolaiven 当您在文件资源管理器中导航到 C:\Program Files\Android\Android Studio\jre\bin 时,是否看到列出了 keytool.exe?
    • 我应该删除它吗?