记录Android端百度地图API使用遇到的问题

折腾了两三个夜晚,终于实现了百度地图在Android端的显示:

在这里主要总结记录一下百度地图API在Win 10 下的Android Studio中使用遇到的问题:

1.查看本机android或app的SHA1值

SHA1值用来在百度开发者控制台创建应用使用~~

我的电脑是Win10系统,安装Android Studio的时候也没有配置jdk环境变量这些,所以在查看SHA1值得时候遇到一些问题,百度官方提供的方法是通过cmd控制台命令查看,“keytool -list -v -keystore debug.keystore”,地址:http://developer.baidu.com/map/index.php?title=androidsdk/guide/key。因为我没有配置jdk的环境变量,所以调用命令出现问题:

'keytool' is not recognized as an internal or external command,
operable program or batch file.

通过搜索,找到了解决办法:C:\Program Files\Java\jdk1.6.0_25\bin,到这里去执行命令。

地址:http://blog.csdn.net/xinma/article/details/6988893,灰常感谢

同样,我们在生成的apk的时候如果想要确认SHA1值,查看apk的SHA1值得方法:

先将生成的apk文件后缀名改为zip,再解压,得到META-INF文件夹里的CERT.RSA文件,将文件复制到上面jdk\bin目录里,在jdk\bin目录里打开命令控制台,按住shift键+鼠标右键,点击Open command window here,然后输入“keytool -printcert -file CERT.RSA”,即可查看到SHA1和MD5值。

参考地址:http://tieba.baidu.com/p/4069492658

http://tieba.baidu.com/p/4069492658

阿里嘎多~~

然后记得删除jdk\bin目录里的CERT.RSA

2.实现百度地图HelloWorld时,程序一直停止运行,错误报告:

java.lang.UnsatisfiedLinkError:
Native method not found: com.baidu.platform.comjni.map.commonmemcache.JNICommonMemCache.Create:()

因为Android开发并不是很熟,所以看到这些错也不了解,搜索后原来是so文件没有加载。下载百度地图api的时候是有一部分C或C++写的so文件,不知道这种是不是就是ndk开发。我们需要在项目的main目录下添加JNIlibs文件夹,然后把api的so文件目录放进来,我是全放进来的。然后Clean,Rebuild,则能运行起来,然而又会遇到下面的问题。

3.只能显示网格不能加载地图:230错误 APP Scode校验失败

网上搜了很多,有说是因为SHA1值没有匹配,但我查看却是没有错的;然后就有在官方论坛的错误报告:

http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=80640&page=24&extra=#pid200588

我也就在论坛里提交了ak值及错误截图,奇怪的是刚提交10分钟,我的地图就能正确的显示了~~!

不知道是百度解决的呢还是因为其他什么原因

总之,通过这一个小小的测试案例,更深入的了解了百度地图api,其次也更熟悉了Android开发中涉及的一些基础操作。

希望明天是一个晴朗的天~~

posted @ 2015-11-28 03:09  博伊卡  阅读(2476)  评论(0编辑  收藏  举报