我找不到Android的keytool

我想跟随Android映射教程,并得到这个部分,我必须得到一个API密钥 。

我find了我的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。

我究竟做错了什么?

keytool附带Java SDK。 你应该在包含javac的目录中find它

好的,所以这篇文章是六个月前的,但是我想在这里给那些对整个API key / MD5指纹业务感到困惑的人添加一些信息。 我花了一段时间才弄清楚,所以我认为其他人也遇到了麻烦(除非我是那么无聊)。

这些说明适用于Windows XP,但是我认为它与其他版本的Windows相似。 看来Mac和Linux用户有一个更容易的时间,所以我不会解决它们。

因此,为了在您的Android应用中使用地图视图,Google希望与他们签入,以便您签署Android Maps API服务条款协议。 我想他们不希望你做任何转弯的GPS应用程序来与他们竞争。 我没有真正读过。 哎呀。

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

转到开始>运行,然后inputcmd打开命令提示符。 您需要使用keytool.exe文件导航到该目录,根据您安装的JDK版本,该文件可能略有不同。 我在C:\Program Files\Java\jdk1.6.0_21\bin但是尝试浏览到Java文件夹,看看你有什么版本,并相应地改变path。

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

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

与报价。 当然<“你的用户名在这里”>将是你自己的Windows用户名。

(如果您在find这个path时遇到问题,并且您正在使用Eclipse,那么可以选中Window>首选项> Android> Build并查看“Default Debug keystore”)

按回车,它会提示你input密码。 只要按下input。 瞧,底部是你的MD5指纹。 在Android Maps API注册页面的文本框中input您的指纹,然后点击生成API密钥。

还有你的钥匙,所有的荣耀,与一个方便的示例xml布局,input您的密钥复制和粘贴。

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

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

第二步 :finddebug.keystore,在我的情况下是 – C:\ Users \ MyPcName \ .android

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

第四步 :现在将要求密钥库密码。 (我正在搞清楚: – ?)

更新:确定在我的情况下,密码是“机器人”。 – (我使用的是Eclipse的Eclipse,所以我在这里find它) 遵循eclipse中的步骤Windows> preferences> android> build> ..
(查看`default Debug Keystore'字段。)



改变密钥库密码的命令(看这里): 密钥库改变密码



上面的4步答案为我工作,但它返回SH1键…但谷歌要求MD5键生成您的API密钥。

只需要在步骤3的命令中添加一个'-v'即可。

更新了4步答案

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

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

步骤2 :finddebug.keystore(在Eclipse中:Windows / Preferences / Android / build ..),在我的情况下是 – C:\ Users \ MyPcName.android

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

第四步 :现在将要求密钥库密码。 默认是'android'

这似乎很难find比它需要为OSX。 太多冲突的post

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

首先确保安装Java JDK

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

然后在命令提示符下input:

/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

其实eclipse导出会调用

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

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

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

只是想分享…

不需要使用命令行。

如果您在ADK中FILE->“导出Android应用程序”,那么它将允许您创build一个密钥,然后生成您的.apk文件。

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

1)生成>生成签名的APK

2)select“新build…”,select密钥库的path,并input所有需要的数据

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

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