所以,感谢StackOverflow.com和Android-Developer-googleGroup的一系列快速参与,现在解决方案很清楚.....让我简要介绍一下我是如何解决它的,以防你们中的任何人遇到类似的问题。
我的 android 开发人员debug.keystore文件位于我的 linux 中的以下位置
~/.android/debug.keystore
然后我cd ~
按照 Google Projects for Android 页面中提到的步骤获取地图 API 密钥以获取我的 debug.keystore 的 md5 指纹
rakib@rakib-laptop:~$ \
> keytool \
> -list \
> -alias androiddebugkey \
> -keystore ~/.android/debug.keystore \
> -storepass android \
> -keypass android
但它返回了一个愚蠢的令人沮丧的错误
list: unrecognized option '-keypass'
list: Try 'list -help' for more information
那是我开始所有论坛和讨论等但没有找到正确解决方案的时候。在几个论坛帖子之后,我发现我对keytool的简单调用是指一个不需要的 keytool - 一个似乎来自 GNU Compiler for Java 的 keytool。Android 需要来自 Sun/Oracle Java 的 keytool
因此,我做了以下操作来找出我在我的 linux 系统中拥有的不同 keytool 程序的所有实例。
rakib@rakib-laptop:~$ locate keytool
它给了我以下列表
/etc/alternatives/keytool
/etc/alternatives/keytool.1.gz
/home/rakib/java-WTK-2.5.2/bin/mekeytool
/usr/bin/gkeytool-4.4
/usr/bin/keytool
/usr/lib/jvm/java-1.5.0-gcj-4.4/bin/keytool
/usr/lib/jvm/java-1.5.0-gcj-4.4/jre/bin/keytool
/usr/lib/jvm/java-1.5.0-gcj-4.4/man/man1/keytool.1.gz
/usr/lib/jvm/java-6-sun-1.6.0.24/bin/keytool
/usr/lib/jvm/java-6-sun-1.6.0.24/jre/bin/keytool
/usr/lib/jvm/java-6-sun-1.6.0.24/jre/man/ja/man1/keytool.1.gz
/usr/lib/jvm/java-6-sun-1.6.0.24/jre/man/man1/keytool.1.gz
/usr/lib/jvm/java-6-sun-1.6.0.24/man/ja/man1/keytool.1.gz
/usr/lib/jvm/java-6-sun-1.6.0.24/man/man1/keytool.1.gz
/usr/share/man/man1/gkeytool-4.4.1.gz
/usr/share/man/man1/keytool.1.gz
/var/lib/dpkg/alternatives/keytool
答对了!!!已经找到了很多 keytool 实例。现在我需要使用 Java-6-sun JRE 中的那个。因此,cd到从上面的locate keytool命令找到的那个目录
rakib@rakib-laptop:~$ cd /usr/lib/jvm/java-6-sun-1.6.0.24/jre/bin/
现在终端位于java-6-sun/jre/bin目录中,我输入了以下命令 - 还记得我的 debug.keystore 文件在~/.android/debug.keystore中吗?
rakib@rakib-laptop:/usr/lib/jvm/java-6-sun-1.6.0.24/jre/bin$ \
> ./keytool \
> -list -alias androiddebugkey \
> -keystore ~/.android/debug.keystore \
> -storepass android \
> -keypass android
瞧……它返回了我正在寻找的我的 android 调试证书的 MD5 指纹。
androiddebugkey, Mar 19, 2011, PrivateKeyEntry,
Certificate fingerprint (MD5): 08:A6:77:9C:97:66:CA:00:B9:6B:82:6B:37:64:B8:14
请注意,当我从 java-6-sun/jre/bin 文件夹中键入 keytool 命令时,您不能只写“keytool”。您必须改为写“./keytool” - 带有句点和斜杠以暗示您指的是终端所在当前目录中的 keytool。
rakib@rakib-laptop:~$ WooooooHooooooooooooooo!!!!!
后注:执行错误 keytool 的问题之所以发生,是因为我的 java-6-sun JRE 不是我的 ubuntu 中的默认 java 环境。而是将我的 GNU java 编译器设置为默认的 java 环境。要更改 linux 机器中的默认 Java 环境,请参阅Java 的 Ubuntu 社区帮助