我找不到Android keytool

时间:2010-06-08 12:46:58

标签: android keytool android-keystore

我正在尝试按照Android映射教程和got to this part where I had to get an API key

我找到了debug.keystore,但目录中似乎没有keytool个应用程序:

C:\Documents and Settings\tward\\.android>ls
adb_usb.ini      avd       debug.keystore  repositories.cfg androidtool.cfg  ddms.cfg  default.keyset

此目录中也没有keytool

C:\Android\android-sdk-windows\tools>ls
AdbWinApi.dll     apkbuilder.bat       etc1tool.exe         mksdcard.exe
AdbWinUsbApi.dll  ddms.bat             fastboot.exe         source.properties
Jet               dmtracedump.exe      hierarchyviewer.bat  sqlite3.exe
NOTICE.txt        draw9patch.bat       hprof-conv.exe       traceview.bat
adb.exe           emulator.exe         layoutopt.bat        zipalign.exe
android.bat       emulator_NOTICE.txt  lib

我正在使用 Eclipse 作为我的编辑器,并且相信我已经下载了所有最新的SDK。

我做错了什么?

10 个答案:

答案 0 :(得分:418)

keytool随Java SDK一起提供。您应该在包含javac等的目录中找到它。

答案 1 :(得分:97)

好的,所以这篇帖子是六个月前发布的,但我想我会在这里为那些对整个API密钥/ MD5指纹业务感到困惑的人添加一些信息。我花了一段时间才弄明白,所以我认为其他人也遇到了麻烦(除非我只是那么沉闷)。

这些说明适用于Windows XP,但我认为它与其他版本的Windows类似。看起来Mac和Linux用户可以更轻松地使用它,所以我不会解决它们。

因此,为了在您的Android应用中使用地图视图,Google希望与他们签到,以便您可以签署Android Maps API服务条款协议。我认为他们不希望你制作任何转弯的GPS应用程序来与他们竞争。我没看过它。糟糕。

所以转到http://code.google.com/android/maps-api-signup.html并查看它。他们希望您检查“我已阅读并同意条款和条件”框并输入您的证书的MD5指纹。你可能会这么说。我不知道,但只是做我说的话,你的Android应用程序不会受到伤害。

转到“开始”>“运行”并键入cmd以打开命令提示符。您需要使用keytool.exe文件导航到该目录,该文件可能位于略有不同的位置,具体取决于您安装的JDK版本。我在C:\Program Files\Java\jdk1.6.0_21\bin,但尝试浏览Java文件夹,看看你有什么版本,并相应地改变路径。

在命令提示符下导航到C:\ Program Files \ Java \<“你的JDK版本”> \ bin后,输入

keytool -list -keystore "C:/Documents and Settings/<"your user name here">/.android/debug.keystore"

带引号。当然&lt;“你的用户名在这里”&gt;将是您自己的Windows用户名。

(如果您在查找此路径时遇到问题并且正在使用Eclipse,则可以检查Window&gt; preferences&gt; Android&gt; Build并查看“Default Debug keystore”)

按enter键,将提示您输入密码。只需按Enter键即可。瞧,底部是你的MD5指纹。在Android Maps API注册页面的文本框中输入您的指纹,然后点击Generate API Key。

这里有你的钥匙,有一个方便的样本xml布局,输入你的密钥进行复制和粘贴。

答案 2 :(得分:17)

好的我在 Windows 7 32位系统中做到了这一点。

第1步:转到 - C:\ Program Files \ Java \ jdk1.6.0_26 \ bin - 首先运行jarsigner.exe(双击)

step2 :找到debug.keystore,在我的例子中是 - C:\ Users \ MyPcName \ .android

step3 :打开命令提示符并转到目录 - C:\ Program Files \ Java \ jdk1.6.0_26 \ bin 并提供以下命令:           keytool -list -keystore“C:\ Users \ MyPcName \ .android \ debug.keystore”

step4 :它现在会要求Keystore密码。             (我正在弄清楚......: - ?)

更新:在我的情况下,确定密码是'android'。 - (我正在使用Eclipse for android,所以我在这里找到它) 按照eclipse中的步骤:                   的 Windows和GT;偏好&GT;机器人&GT;建立&GT; ..
(查看`default Debug Keystore'字段。)



更改密钥库密码的命令(请查看此处):Keystore change passwords



答案 3 :(得分:10)

上面的4步答案对我有用,但它返回SH1键...但Google要求MD5键生成您的API密钥。

只需要在步骤3中的命令中添加'-v',就像这样:

更新了4步答案

好的我在Windows 7 32位系统中这样做了。

第1步:转到 - C:\ Program Files \ Java \ jdk1.7.0 \ bin - 首先运行jarsigner.exe(双击)

step2 :找到debug.keystore(在Eclipse中:Windows / Preferences / Android / build ..),在我的例子中是 - C:\ Users \ MyPcName.android

step3 :打开命令提示符并转到目录 - C:\ Program Files \ Java \ jdk1.7.0 \ bin并提供以下命令:keytool -v - list -keystore“C:\ Users \ MyPcName.android \ debug.keystore”

step4 :它现在会要求Keystore密码。默认为'android'

答案 4 :(得分:2)

这似乎要比OSX更难找到。过多的冲突帖子

对于MAC OSX Mavericks Java JDK 7,请按照以下步骤找到keytool

首先确保安装Java JDK

http://docs.oracle.com/javase/7/docs/webnotes/install/mac/mac-jdk.html

然后在命令提示符下输入:

/usr/libexec/java_home -v 1.7

它会吐出类似的东西:

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

keytooljavac位于同一目录中。即:

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

bin目录,您可以使用keytool

答案 5 :(得分:2)

我从未安装过Java,但是在安装Android Studio时,它在Android目录中具有其自己的版本。这是我的所在地。您的路径可能相似。之后,您可以将keytool放入路径中,也可以从该目录中运行它。

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

答案 6 :(得分:0)

实际上,eclipse导出会调用

java -jar android-sdk-windows\tools\lib\sdklib.jar com.android.sdklib.build.ApkBuilderMain

然后调用com.android.sdklib.internal.build.SignedJarBuilder。

答案 7 :(得分:0)

这里没有提到的一件事(但让我完全不能运行keytool)是你需要以管理员身份运行命令提示符。

只是想分享它......

答案 8 :(得分:0)

无需使用命令行。

如果你FILE-&gt;在ADK中“导出Android应用程序”然后它将允许您创建密钥,然后生成.apk文件。

答案 9 :(得分:0)

如果您使用Android Studio for Windows创建发布密钥库并签名.apk,请按以下步骤操作:

1)构建&gt;生成签名APK

2)选择“新建...”,选择密钥库的路径,然后输入所有必需的数据

3)在创建了密钥库(your_keystore_name.jks)之后,您将使用它在您选择的目的地创建第一个签名的apk

如果您有像Android Studio这样的IDE,我还没有看到需要使用命令工具。