无法在我的mac上找到keytool来签署我的apk文件

时间:2012-08-07 16:49:48

标签: android macos keytool

我使用了phonegap Build来创建我的.apk文件,我正在尝试签名。

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

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

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

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

非常感谢任何帮助。我必须遗漏一些非常简单的东西,因为签署该应用程序并不困难吗?!?!

5 个答案:

答案 0 :(得分:13)

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

在Mac上找到Keytool

首先在命令提示符下键入:

/usr/libexec/java_home -v 1.7

它会吐出类似的东西:

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

keytool与javac位于同一目录中。即:

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

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

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

希望有助于其他人

答案 1 :(得分:2)

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

答案 2 :(得分:1)

keytool随Java Development Kit(JDK)一起提供。所以寻找包含javac,java的目录,你会发现keytool存在于那里。您可以直接从该目录运行它或设置PATH。

答案 3 :(得分:1)

请注意,我必须在键盘工具位置的前面添加'./'

键盘工具位置

/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

希望能帮助某人。

答案 4 :(得分:0)

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

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

希望能帮助任何有同样问题的人