折騰了兩三個夜晚,終於實現了百度地圖在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開發中涉及的一些基礎操作。
希望明天是一個晴朗的天~~