我找不到 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
keytool
与javac
位于同一目录中。即:
/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 布局文件存在但我找不到
在密钥库 C:\Users\alan\newapp\android\app\key.jks 中找不到别名为“上传”的密钥