我试图遵循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。
我做错了什么?
这似乎比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。
好吧,这篇文章是六个月前的,但我想在这里为那些对整个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布局,其中输入了密钥供你复制和粘贴。