1

我已经使用 phonegap Build 创建了我的 .apk 文件,我正在尝试对其进行签名。

我知道我可以使用以下命令执行此操作:

$ keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -validity 10000

但是当我在终端中运行它时,我得到'找不到命令'?

我在mac上运行它,所以从我读过的内容来看,我已经安装了所需的JDK(我有xcode)我想可能是PATH没有正确设置为keytool,但我找不到任何简单的有关重置此的信息。

任何帮助将不胜感激。我一定错过了一些非常简单的东西,因为签署应用程序不可能这么难?!?!

4

6 回答 6

13

这对我来说是一场噩梦,这样一个看似简单的任务却花费了太多时间。

在 Mac 上找到 Keytool

首先在命令提示符中输入:

/usr/libexec/java_home -v 1.7

它会吐出类似的东西:

/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home

keytool 与javac. IE:

/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin

从 bin 目录中,您可以使用 keytool。

我通常使用APK工具Eclipse来签署密钥,但我过去生成了指纹并且没有记录它。我需要 keytool 来告诉我那个值......

希望这对其他人有帮助

于 2014-02-06T20:37:17.857 回答
12

'./'只是我必须在 keytool 位置的前面添加一个注释。

钥匙工具位置

/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/keytool

命令运行

./keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

希望对某人有所帮助。

于 2019-02-18T00:15:02.890 回答
2

确保您已cd进入 android-sdk/platform-tools 目录(keytool [最有可能] 所在的目录)。如果您不在包含 keytool 的目录中,则不会找到该命令。

于 2012-08-07T16:56:20.513 回答
1

keytool附带 Java 开发工具包 (JDK)。因此,查找包含 javac、java 的目录,您会发现那里存在 keytool。您可以直接从该目录运行它或设置 PATH。

于 2012-08-08T04:48:33.740 回答
0

在 Mac 上运行时,我遇到了同样的错误。
删除“$”对我有用,然后提示输入详细信息以创建密钥库。

然后我很难找到密钥库,因为我认为它会在我的用户帐户下的.android中,但它实际上是直接保存到我的用户帐户 [cd users/YourUserName]

希望对遇到同样问题的人有所帮助

于 2017-01-12T15:12:56.977 回答
0

如果您安装了 Android Studio,keytool 的新位置是

/Applications/Android\ Studio.app/Contents/jre/Contents/Home/bin/
于 2021-10-30T09:39:29.457 回答