我找不到 Android 密钥工具

Posted

技术标签:

【中文标题】我找不到 Android 密钥工具【英文标题】:I can’t find the Android keytool 【发布时间】:2011-03-01 03:41:23 【问题描述】:

我正在尝试遵循 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。

我做错了什么?

【问题讨论】:

太棒了。发布了我的第二个问题,我的第一个徽章得到了“风滚草”!!!请温柔地嘲笑我:-) 太棒了,你有没有办法在 windows 上获得释放 SHA1 【参考方案1】:

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

【讨论】:

知道了:C:\Program Files\Java\jdk1.6.0_14\bin 谢谢 甚至可以在 JRE 中找到它...谢谢 一个有用的技巧是将输出保存到文件中,这样您就可以获取密钥。只需在最后添加:> somefilename.txt 在 C:\Program Files\Java\jdk1.7.0_79\bin 我的是C:\Program Files\Android\Android Studio\jre\bin(使用 Studio,而不是 Eclipse)【参考方案2】:

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

这些说明适用于 Windows XP,但我想其他版本的 Windows 也类似。看起来 Mac 和 Linux 用户在这方面更容易,所以我不会解决他们。

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

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

转到开始>运行并键入 cmd 以打开命令提示符。您需要导航到带有 keytool.exe 文件的目录,根据您安装的 JDK 版本,该文件的位置可能略有不同。我的在C:\Program Files\Java\jdk1.6.0_21\bin,但请尝试浏览到 Java 文件夹并查看您拥有的版本并相应地更改路径。

在命令提示符中导航到 C:\Program Files\Java\\bin 后,键入

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

带引号。当然 将是您自己的 Windows 用户名。

(如果您在使用 Eclipse 时找不到此路径,则可以检查 Window>preferences>Android>Build 并检查“Default Debug keystore”)

按回车键,它会提示您输入密码。只需按回车键。瞧,底部是您的 MD5 指纹。在 Android Maps API 注册页面的文本框中输入您的指纹,然后点击 Generate API Key。

您的钥匙尽在其中,带有方便的示例 xml 布局,输入您的钥匙供您复制和粘贴。

【讨论】:

你救了我一两次头痛 在 Windows 上不应该是反斜杠,而不是正斜杠吗? 仅供参考,如果您使用 jdk1.7,请添加修饰符 -v 更多人应该像你一样解释! @malfunction,有没有办法让 SHA1 在 windows 上发布构建【参考方案3】:

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

第一步:进入-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>首选项>android>build>.. (查看 `default Debug Keystore´ 字段。)



更改密钥库密码的命令(看这里):Keystore change passwords



【讨论】:

【参考方案4】:

上面的 4-Step Answer 对我有用,但它返回 SH1 密钥...但 Google 要求 MD5 密钥来生成您的 API 密钥。

只需在第 3 步的命令中添加一个“-v”即可。-如下所示:

更新的 4 步答案

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

第一步:进入-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'

【讨论】:

【参考方案5】:

我从未安装过 Java,但是当您安装 Android Studio 时,它在 Android 目录中有自己的版本。这是我所在的位置。你的路径可能类似。之后,您可以将 keytool 放入您的路径中,或者直接从该目录运行它。

C:\Program Files\Android\Android Studio\jre\bin

【讨论】:

【参考方案6】:

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

keytooljavac 位于同一目录中。即:

/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin

您可以从bin 目录使用keytool

【讨论】:

【参考方案7】:

如果您使用适用于 Windows 的 Android Studio 创建发布密钥库和签名的 .apk,只需按照以下步骤操作:

1) 构建 > 生成签名的 APK

2) 选择“新建...”,选择密钥库的路径,然后输入所有需要的数据

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

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

【讨论】:

或许用于发现 SHA1 指纹?【参考方案8】:

其实eclipse导出会调用

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

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

【讨论】:

【参考方案9】:

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

只是想分享一下...

【讨论】:

这应该是评论而不是答案。 我同意应该发表评论,虽然运气不好,但您没有足够的代表发表评论!【参考方案10】:

无需使用命令行。

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

【讨论】:

以上是关于我找不到 Android 密钥工具的主要内容,如果未能解决你的问题,请参考以下文章

我找不到在 Android Studio 中创建的 recyclerview 的 setOnItemClickListener

Android Studio XML 布局文件存在但我找不到

我找不到 debug.keystore 文件

在密钥库 C:\Users\alan\newapp\android\app\key.jks 中找不到别名为“上传”的密钥

应用程序崩溃可能是布局错误。我找不到它

如何导出 Android 签名密钥