我试图遵循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。

我做错了什么?


当前回答

这里没有提到的一件事(但使我完全没有运行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布局,其中输入了密钥供你复制和粘贴。

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

只是想分享一下……

如果您正在使用Android Studio for Windows创建发布密钥存储库并签名.apk,只需遵循以下步骤:

1)构建>生成签名APK

2)选择“Create New…”,选择keystore的路径,并输入所需的所有数据

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

如果你有一个像Android Studio这样的IDE,我认为没有必要使用命令工具。

不需要使用命令行。

如果你FILE->“Export Android Application”在ADK中,那么它将允许你创建一个密钥,然后生成你的。apk文件。

实际上,eclipse导出将调用

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

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