【问题标题】:I can’t find the Android keytool我找不到 Android 密钥工具
【发布时间】: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

标签: android keytool android-keystore


【解决方案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 文件。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2017-08-05
              • 2017-02-26
              • 2022-01-24
              • 2017-10-08
              • 2017-01-25
              • 2019-05-10
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多