我正在尝试创建我的应用程序的apk。我浏览了文档并找到了程序。我被首先指示转到我的项目文件夹并放入命令:
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity
10000 -alias key
但是随后我得到一个错误消息,那就是keytool不是可识别的命令。我在网上查找并找到了我的java的安装目录,然后在存在keytool的文件夹中打开了cmd。
该命令已成功执行,我得到了所有程序,例如创建密钥库密码和其他个人详细信息。
最后,在我输入密钥密码后,我得到了一个错误:
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)
我应该得到一个名为key.jks的文件,但是失败了。
答案 0 :(得分:1)
以下是示例:
keytool -genkey -v -keystore **Your PC path** /key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
像这样
keytool -genkey -v -keystore /Users/sunnysaini/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
我希望以上内容对您有用。
如果您要创建签名的APK,这是另一种解决方案
signingConfigs {
release {
storeFile file("release.keystore")
storePassword "******"
keyAlias "******"
keyPassword "******"
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
您还可以使用android studio选项生成APK
答案 1 :(得分:0)
好吧,我发现真正的问题是什么。 我的Java安装在C驱动器中,我需要管理员权限才能在文件夹中进行更改。有时,即使您尝试以管理员身份运行,系统也可能不允许您进行存储。这就是为什么提示错误提示我的原因:
keytool error: java.io.FileNotFoundException: ~\key.jks (The system cannot
find the path specified)
这表示该命令无法访问和编辑文件夹的内容。
然后我尝试将key.jks文件存储在我的项目文件夹中,但是随后提示我一个错误,提示它是非法选项。我同意我不应该深入目录。
最后,我尝试了一个简单的路径,这是我的D盘,命令看起来像:
keytool -genkey -v -keystore D:/key.jks -keyalg RSA -keysize 2048 -validity 10000 -
alias key
这对我有用。希望我的回答有所帮助。