这是网上获取debug指纹的方式:
keytool -list -alias androiddebugkey -keystore (debug.keystore文件路径) -storepass android -keypass android
正式版的其实完全相同的,但首先要有自己的key,申请自己key最简单是用图像界面,网上的命令行方法out了……
1.右击已经打开的项目名称选择下面:
![1.png 1.png](http://www.eoeandroid.com/data/attachment/forum/201106/22/1847405e74eu5zrgto37ns.png)
2.选择next
![2.png 2.png](http://www.eoeandroid.com/data/attachment/forum/201106/22/184745zaacbaccefa4317j.png)
3.首次使用选择Create new store,Location你自己选,名称自己取,然后是第一次的密码(要记住,等一下有用)。
Location 需要选择你要生成的key文件:例如 my.keystore
![](http://dl.iteye.com/upload/attachment/281845/888cacdf-65f1-3858-bc53-f34208c00b60.png)
4.Alias(别名)和刚刚location里面的名称一样(偷懒,谢谢),之后是第二个密码(也要记住),年限和名称,Next
![](http://dl.iteye.com/upload/attachment/281847/61e402d1-e46c-3bbc-9658-2e2f5a80fc43.png)
这样,我们自己的key就生成了!我们可以用这个key生成自己的签名程序!
申请这个正式版googlemap key时我们用下面获取指纹:
keytool -list -keystore (你使用的key文件路径) -storepass (你这个key的第一个密码) -keypass (你这个key的第二个密码)
比如我的:
keytool -list -keystore F:\keystore\my.keystore -storepass ..... -keypass ........
密钥库类型: JKS
密钥库提供方: SUN
您的密钥库包含 1 个条目
..............
![5.png 5.png](http://www.eoeandroid.com/data/attachment/forum/201106/22/1847510vrvxicesep0rkz0.png)
android 开发谷歌map 申请KEY
首先,我们要使用Java下的keytool工具,产生MD5密纹,这个是跟你的证书所关联的,在使用Google Map API时进行对证书校验。Keytool这个文件一般位于%JAVA_HOME%/bin目录下,如果是Linux系统,则位于$JAVA_HOME/bin下的,比如windows下在C:\programs\Java\jdk1.6.0_18\bin下。
在开发Android程序时,一般是在debug调试模式下开发的,这时SDK的build tools会自动使用debug模式下的证书对应用进行签名的,为了产生debug模式下证书的MD5密纹,我们必须找到debug模式下的keystore密钥库,在不同的操作系统中,keystore位于如下位置:
对于模拟器上的,默认的是debug.keystore存放位置可以在eclipse下window->preferences->android->build里查看
- Keystore name: "debug.keystore"
- Keystore password: "android"
- Key alias: "androiddebugkey"
- Key password: "android"
- CN: "CN=Android Debug,O=Android,C=US"
接下来,我们开始使用keytool工具产生md5密纹,命令行下输入如下语句:
%JAVA_HOME%/bin/keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android 现在我们就产生了debug模式下的MD5密纹了,要注意的是,你必须重新为生产环境下的应用重新生成一次MD5密纹,因为如果在不同的Android SDK或者不同的开发环境下,MD5密纹是不同的,否则换了环境的话Google Map将不会工作。
产生的MD5密纹的输出如下面:
androiddebugkey, Apr 2, 2010, PrivateKeyEntry,
Certificate fingerprint (MD5): 72:BF:25:C1:AF:4C:C1:2F:34:D9:B1:90:35:XX:XX:XX
接下来,我们要到Google Map API的主页去申请一个Map的key了,可以访问
http://code.google.com/android/maps-api-signup.html页面,在其中的MD5 fingerprint一栏中输入刚才生成的MD5密纹。输入后,点Generate API Key,之后会为我们产生Google Map API了,这个API是我们在程序中可以使用的。其中还给出了如何在android中使用该API的方法。
然后就按照网上的方法打开:
googlemap key申请地址copy指纹粘进去,完美了……
然后建项目和建模拟器target那都需要选google api才可以的,然后main.xml里加入MapView,而主程序这样写
-
package com. example ;
-
-
import android.os.Bundle;
-
-
import com.google.android.maps.MapActivity;
-
import com.google.android.maps.MapView;
-
-
public class hello extends MapActivity {
-
/** Called when the activity is first created. */
-
@Override
-
public void onCreate (Bundle savedInstanceState ) {
-
super. onCreate (savedInstanceState ) ;
-
setContentView (R. layout. main ) ;
-
MapView mapView= (MapView )findViewById (R. id. map_view ) ;
-
mapView. setBuiltInZoomControls ( true ) ;
-
}
-
-
@Override
-
protected boolean isRouteDisplayed ( ) {
-
// TODO Auto-generated method stub
-
return false ;
-
}
-
}
可以看到需要继承MapActivity而不是Activity,然后加入了可以使地图放缩的命令
还有一点需要注意,就是程序调用了其他的api并且需要使用网络的权限所以需要在AndroidManifest.xml里进行注册
-
<?xml version="1.0" encoding="utf-8"?>
-
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-
package= "com.example"
-
android:versionCode= "1"
-
android:versionName= "1.0" >
-
<uses-sdk android:minSdkVersion="8" />
-
-
<application android:icon="@drawable/icon" android:label="@string/app_name">
-
<activity android:name=".hello"
-
android:label= "@string/app_name" >
-
<intent-filter>
-
<action android:name="android.intent.action.MAIN" />
-
<category android:name="android.intent.category.LAUNCHER" />
-
</intent-filter>
-
</activity>
-
<uses-library android:name="com.google.android.maps" />
-
-
</application>
-
<uses-permission android:name="android.permission.INTERNET"/>
-
-
</manifest>
运行程序就可以显示出像本文章最上面那种图那样的地图了。
然后想进一步了解google map及相关api的可以查看这篇hello-mapview和官方的api文档