keytool error: java.io.FileNotFoundException: C:\AndroidWorkspace\androidKey\public.jks (The system cannot find the path specified)

keytool error: java.io.FileNotFoundException: C:\AndroidWorkspace\androidKey\public.jks (The system cannot find the path specified)

我想尝试在 Android Studio 中创建一个签名的应用程序,但我遇到了这个错误

keytool error: java.io.FileNotFoundException: C:\AndroidWorkspace\androidKey\public.jks (The system cannot find the path specified)

我在创建新密钥库时遇到此错误。我很困惑,当我试图创建一个新密钥时,为什么它会搜索这个密钥。

Android Studio : V1.1.0

JRE: 1.8.0_25-b18 amd64

手动修改 build.gradle(Module:app) 文件以签署 apk 完成了工作。这是我在 build.gradle.

中包含的代码
signingConfigs {
    release {
        storeFile file("release.keystore")
        storePassword "******"
        keyAlias "******"
        keyPassword "******"
    }
}

buildTypes {
    release {
        signingConfig signingConfigs.release
    }
}

Windows 可能是路径问题

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

使用像上面这样的路径 其中使用的斜线是向后倾斜的。

删除应用程序模块级别的构建目录,然后删除文件 -> 使缓存无效/重新启动...。我猜它在那里缓存了一些配置。

On windows 如果您尝试使用 cmd 生成密钥并从 android 文档复制以下命令:

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

您需要将 USER_NAME 部分更改为您的 PC 名称,即用户文件夹中的文件夹名称,然后执行代码。例如,如果我的用户文件夹名称是 Taba,那么我必须执行此代码:

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

或者您甚至可以将目录更改为您想要保存 .jks 文件的位置。

如果上面的错误是“权限被拒绝”,那么如果你运行cmd中的命令,运行以管理员身份cmd。

在我的情况下,我必须更新 Java JDK,然后它起作用了。

分明是找不到保存生成的keystore的路径。将路径更改为已知位置,它将起作用。

您可以按照此article

中的步骤操作

运行 以管理员身份运行命令然后: keytool -genkey -v -keystore c:\key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key.jks