折腾了两三个夜晚,终于实现了百度地图在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 FilesJavajdk1.6.0_25in,到这里去执行命令。
地址:http://blog.csdn.net/xinma/article/details/6988893,灰常感谢
同样,我们在生成的apk的时候如果想要确认SHA1值,查看apk的SHA1值得方法:
先将生成的apk文件后缀名改为zip,再解压,得到META-INF文件夹里的CERT.RSA文件,将文件复制到上面jdkin目录里,在jdkin目录里打开命令控制台,按住shift键+鼠标右键,点击Open command window here,然后输入“keytool -printcert -file CERT.RSA”,即可查看到SHA1和MD5值。
参考地址:http://tieba.baidu.com/p/4069492658
http://tieba.baidu.com/p/4069492658
阿里嘎多~~
然后记得删除jdkin目录里的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开发中涉及的一些基础操作。
希望明天是一个晴朗的天~~