你如何在 flutter 中安装密钥库?

How do you install the keystore in flutter?

我尝试在 flutter 中安装 Keystore,所以在终端中,我写道:

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

然而,它说:

'key tool' is not recognized as an internal or external command, operable program, or batch file.

而且它不起作用。我该如何解决?我应该在环境变量中添加什么吗? (我正在使用 Windows 10)。

让我告诉你一个快速的解决方案! 最好打开命令提示符。转到您安装的文件夹 Java。 例如:在我的例子中,它是 C:\Program Files\Java\jre1.8.0_211\bin 命令看起来像这样

cd "C:\Program Files\Java\jre1.8.0_211\bin"

现在尝试执行您之前的关键工具命令。 如果可行,请将上述路径添加到您的环境变量中。
进一步参考:https://flutter.dev/docs/deployment/android#signing-the-app

这里是朋友click me!

您还可以了解更多关于导出您的应用程序并准备好在此处发布的信息。

来自documentation:

The keytool command might not be in your path—it’s part of Java, which is installed as part of Android Studio. For the concrete path, run flutter doctor -v and locate the path printed after 'Java binary at:'. Then use that fully qualified path replacing java (at the end) with keytool. If your path includes space-separated names, such as Program Files, use platform-appropriate notation for the names. For example, on Mac/Linux use Program\ Files, and on Windows use `Program Files".


例如,如果我 运行 futter -v:

...

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at C:\Users\Mendel\AppData\Local\Android\Sdk\tools
    • Platform android-30, build-tools 30.0.2
    • ANDROID_HOME = C:\Users\Mendel\AppData\Local\Android\Sdk\tools
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
...

找到它所说的 "Java binary at" 并将路径 \java 替换为 keytool,因此如果 Java 安装在:

C:\Program Files\Android\Android Studio\jre\bin\java

keytool 会在:

C:\Program Files\Android\Android Studio\jre\bin\keytool

因此,例如,要获取调试证书指纹我 运行:

"C:\Program Files\Android\Android Studio\jre\bin\keytool" -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore