标签:android 地图api sha1 launcher avd
Android新手百度地图Helloword运行异常,所有的步骤都是按照百度官方操作来的但是启动的时候报错,而且这些错误很离谱.后来拿来官方的示例程序也是有相关的错误的,最后发现主要的问题在于AVD版本没有和SDK的版本对应起来,另外地图的ak签名需要用系统cmd方式获取而不是Eclipse来获取(这两种方式获取到的SHA1签名不一致)。
源码见此处:http://developer.baidu.com/map/wiki/index.php?title=androidsdk/guide/hellobaidumap,错误如下:
找了很久其实不是API的问题,也不是程序的问题而是AVD 模拟器的问题,我用的是Android的4.4.w所以虚拟机也要创建相同的版本,不然就有如上意想不到的事情发生。
总是出现如下图所示的界面:
这是由于SHA1签名不匹配造成的。将百度APP创建的项目及ak删掉重新创建,得到新的ak。ak生成方式见:http://developer.baidu.com/map/sdkandev-14.htm,用cmd方式获取到SHA1的ak才行。
在AndroidManifest.xml中加入如下代码的:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<!-- 配置百度地图key -->
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="GaCKiZmOn99Vb7uDEWfrlV3b" />
......................
启动AVD测试,如下测试成功:
?
注:oschina(开源中国)上有人说百度官网上的API更新不及时,所以导致程序运行不起来,这个可能未必是这样,不要把所有的问题归结为百度地图本身的问题,否则就会阻止自己成长和提高了;多从自己的角度出发,利用工具去发现问题寻找问题的突破口才是最佳实践之道。
标签:android 地图api sha1 launcher avd
原文地址:http://blog.csdn.net/boonya/article/details/38822677