工程名:BaiduMapsAPIASDemo
工程下载地址:http://mapopen-pub-androidsdk.cdn.bcebos.com/map/BaiduMap_AndroidSDK_v5.4.0_Sample.zip
最新工程索取地址:http://lbsyun.baidu.com/index.php?title=androidsdk/sdkandev-download
如图Figure 1-1,点击 产品下载——> 源码Demo下载 下的按钮进行下载:
一,运行Demo
想要正确的使用这个Demo,必须先在百度开放平台注册你的App,此处应该注册的就是Demo的名字了,然后用百度开放平台生成的App Key替换Demo工程里AndroidManifest.xml文件中的API_KEY
<meta-data android:name="com.baidu.lbsapi.API_KEY"
android:value="用百度开放平台申请的Android端API KEY替换此处" />
1. 百度开放平台注册App
百度开放平台链接,http://lbsyun.baidu.com/apiconsole/center#/home,根据Demo工程中的信息,在百度开放平台上填写相关资料,包括App名,包名,以及发布版和开发版SHA1,因为此处只是一个Demo,所以发布版我随便填了一个,开发版使用的必须和当前Demo运行的一致,Demo才能正常运行,但是通过官方输入提示获取到的SHA1(官方获取SHA方法参考)在我这里有遇到一个问题:
2. APP Mcode码校验失败
这是因为百度开放平台检测到你的证书信息跟注册的信息不符合,所以拒绝了服务,需要获取到当前实际使用的SHA1信息,才能进行正常使用:
- 生成APK,修改扩展名为ZIP,而后解压;
- 找到解压后的文件夹:META-INFO,里面有个RSA文件:CERT.RSA;
-
打开cmd,cd到META-INFO文件夹,输入命令 :keytool -printcert -file CERT.RSA 这里将会显示出MD5和SHA1签名,如图 Figure 1-2;
比较此处的SHA1和百度开放平台上的SHA1会发现不同,使用这个替换百度开放平台上的进行更新,之后再运行Demo即可正常使用
总结
推测出现这个的原因是,开放平台官方文档制作时环境较单一,实际开发者使用时,往往可能已经注册了多个开发和发布版密钥,环境较为复杂,所以导致获取到的SHA1信息不匹配,开发者使用Demo时,还是需要灵活一些。