我试图遵循Android映射教程,并得到了这一部分,我必须获得一个API密钥。

我找到了我的调试程序。密钥存储库,但目录中似乎没有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。

我做错了什么?


当前回答

好吧,这篇文章是六个月前的,但我想在这里为那些对整个API密钥/MD5指纹业务感到困惑的人添加一些信息。我花了一段时间才弄明白,所以我想其他人也有这个问题(除非我很无趣)。

这些说明是针对Windows XP的,但我想对于其他版本的Windows也是类似的。Mac和Linux用户似乎更容易理解这个问题,所以我就不赘述了。

因此,为了在你的Android应用程序中使用mapview,谷歌希望与他们进行检查,以便你可以签署Android Maps api服务条款协议。我想他们不希望你做任何逐轨GPS应用来和他们竞争。我其实没读。哦。

所以登录http://code.google.com/android/maps-api-signup.html去看看吧。他们希望您勾选“我已阅读并同意条款和条件”框,并输入证书的MD5指纹。你可能会说,这是什么?我不知道,但照我说的做你的安卓应用就不会受伤。

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

在命令提示符中导航到C:\Program Files\Java\ <"your JDK version here">\bin后,键入

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

加上引号。当然<"your username here">是你自己的Windows用户名。

(如果你很难找到这个路径,你正在使用Eclipse,你可以检查窗口>首选项>Android>构建,并检查“默认调试密钥库”)

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

这就是你的密钥,还有一个方便的示例xml布局,其中输入了密钥供你复制和粘贴。

其他回答

好吧,这篇文章是六个月前的,但我想在这里为那些对整个API密钥/MD5指纹业务感到困惑的人添加一些信息。我花了一段时间才弄明白,所以我想其他人也有这个问题(除非我很无趣)。

这些说明是针对Windows XP的,但我想对于其他版本的Windows也是类似的。Mac和Linux用户似乎更容易理解这个问题,所以我就不赘述了。

因此,为了在你的Android应用程序中使用mapview,谷歌希望与他们进行检查,以便你可以签署Android Maps api服务条款协议。我想他们不希望你做任何逐轨GPS应用来和他们竞争。我其实没读。哦。

所以登录http://code.google.com/android/maps-api-signup.html去看看吧。他们希望您勾选“我已阅读并同意条款和条件”框,并输入证书的MD5指纹。你可能会说,这是什么?我不知道,但照我说的做你的安卓应用就不会受伤。

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

在命令提示符中导航到C:\Program Files\Java\ <"your JDK version here">\bin后,键入

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

加上引号。当然<"your username here">是你自己的Windows用户名。

(如果你很难找到这个路径,你正在使用Eclipse,你可以检查窗口>首选项>Android>构建,并检查“默认调试密钥库”)

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

这就是你的密钥,还有一个方便的示例xml布局,其中输入了密钥供你复制和粘贴。

上面的4步回答对我有用,但它返回sh1键…但是谷歌需要md5密钥来生成API密钥。

你只需要在第3步的命令中添加一个'-v'。例如:

更新的四步回答

好的,我是在32位的Windows 7系统中做的。

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

步骤2:定位调试。keystore(在Eclipse: Windows/Preferences/Android/build..),在我的情况下,它是- C:\Users\MyPcName.android

步骤3:打开命令提示符,进入dir - C:\Program Files\Java\jdk1.7.0\bin,并给出以下命令:keytool -v -list -keystore "C:\Users\MyPcName.android\debug.keystore"

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

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

只是想分享一下……

keytool自带Java SDK。您应该在包含javac等的目录中找到它。

这似乎比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

它会吐出如下内容:

/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。