我正在尝试按照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。
我做错了什么?
答案 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
keytool
与javac
位于同一目录中。即:
/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,我还没有看到需要使用命令工具。