刚开始接触Android,纯属菜鸟,写个文章主要怕自己以后忘了。
使用Android Maps API之前首先要获得Android Maps API KEY,否则地图将无法显示。
下面介绍如何获取API KEY。
网上有人说需要两样东西:1,google的帐号;2,系统的证明书。
但是我发现google的帐号在申请KEY的过程中好像没起什么作用,我的理解是Android SDK所生成的证明书不同,就会生成不同的MD5值。而在Android开发过程中布局文件并没有在调用maps的时候需要google的帐号,所以存疑。如果说一个google帐号绑定一个KEY,倒是省心很多。
结束废话。
发布Android应用需要证明书,为了测试就先用debug版证明书,而证明书中有个叫 MD5 fingerprint 的东西,MD5 fingerprint的形式类似Mac地址,请看:
94:1E:43:49:87:73:BB:E6:A6:88:D7:20:F1:8E:B5:98
那么我们怎么获取这个玩意儿呢?它藏在一个叫做debug.keystore的文件里,而这个文件的路径就因人而异了。
网上流传的路径:C:/Documents andSettings/Owner/Local Settings/Application Data/Android/debug.keystore (不过我的两台电脑都没在这么复杂的路径下找到这个文件)
我的路径:C:/Users/Administrator.ZGC-20101207OCY/.android/debug.keystore
我的另一个路径:C:/Users/user/.android/debug.keystore
也就是说在一个叫做.android文件夹里面,不知道网上流传的路径是不是早期的呀。
如果你用eclipse开发应用,还可以在eclipse中找一下,window -> preference ->android -> build,你会看到下图:
找到路径就打开命令行,输入一些命令:(直接截图了)
让你输入密码,没有,直接回车,然后就看到MD5了
然后打开URL,http://code.google.com/intl/ja-JP/android/maps-api-signup.html
复制MD5到指定位置,同意条款,点击“Generate API Key”,打开了一个网页然后你就看到你的密钥了,就是乱七八糟的字符串,下面还给你介绍如何在布局文件中添加key。
开始你的地图应用吧!
笔者进一步探索网上大虾们的文章发现,为了发布应用,我们应该生成属于自己的keystore。那么我们继续:
首先找一个存放android.keystore(这个就是我们自己生成的文件)的目录,大多数放在jdk的bin目录下。然后输入:
D:/ProgramFiles/Java/jdk1.6.0_20/bin>keytool -genkey -alias android.keystore -keyalgRSA -validity 20000 -keystore android.keystore
输入keystore密码:
再次输入新密码:
您的名字与姓氏是什么?
[Unknown]:momo
您的组织单位名称是什么?
[Unknown]:jk
您的组织名称是什么?
[Unknown]:jk
您所在的城市或区域名称是什么?
[Unknown]:Shanghai
您所在的州或省份名称是什么?
[Unknown]:Shanghai
该单位的两字母国家代码是什么?
[Unknown]:CN
CN=momo, OU=jk, O=jk, L=Shanghai, ST=Shanghai,C=CN 正确吗?
[否]: Y
输入的主密码(如果和keystore 密码相同,按回车):
其中参数-validity为证书有效天数,这里我们写的大些20000天。还有在输入密码时没有回显(尽管输就是啦) 并且 退格,tab等都属于密码内容,这个密码在给.apk文件签名的时候需要。
然后就可以给自己的应用签名了:
Eclipse中,右击需要签名的工程–>androidtools–>export signed application package…这下就可以给你的手机装上apk了。
现在注意了,如果你的地图应用还是使用debug.keystore生成的Maps API KEY,那么你的应用将无法在你安装apk的手机上正常显示Google maps,这是因为你换了keystore了,也就是你换了私钥了,那么还是前面的步骤再去申请一个KEY吧。
当然,如果你要在模拟器里debug你的应用那还是使用的debug.keystore生成的key,就不用修改了。
XiaoF
6/2/2011 2:16 PM