导入BaiduMapSdkDemo报230错误解决思路
??百度地圖官網教程,官方論壇的指導文章都指引讀者去使用默認的.android目錄下的debug.keystore。然而卻在官方的Demo中使用app根目錄下的debug.keystore導致簡單的錯誤一直迷路,記錄一下自己的解決問題的思路。這其中暴露了我容易走彎路,并且容易偏題的毛病。
問題描述:
??導入BaiduMapSdkDemo的時候,按照官方教程申請了AK。但是AS打包到真機卻總是提示:
key驗證出錯,230錯誤。
解決途徑:
??官方論壇,下載:安全碼校驗工具。發現SHA1指紋和我.android目錄中的debug.keystore的SHA1不同。
解決步驟&疑問:
1、使用同樣IDE環境打出的Apk包的SHA1指紋都是.android中的指紋,為什么導入的官方Demo就不同!
2、申請AK時,填入:發布版SHA1、開發版SHA1。我選擇發布版,可當前卻是開發環境的默認debug.keystore。
2.1、然而同一個SHA1同時填入發布版、開發版和只填入發布版生成的AK是一樣的!
3、查看build.gradle文件發現:官方包指定了keystore文件。
signingConfigs {
// your debug keystore
? ?debug {
????storeFile file('debug.keystore')
? ?}
}
4、新建的Android項目沒有指定keystore,默認使用.android中的debug.keystore。
5、這里的storeFile file('debug.keystore')指的路徑應該是app根路徑
6、然后我在”BaiduMapsApiASDemo\app\“路徑下發現了一個debug.keystore。
7、使用keytool查看,SHA1果然來自這個debug.keystore。
8、這是不是坑爹,官方網站、論壇等等教人使用.android的默認keystore。
9、既然自己帶了一個keystore,就申請一個默認AK填入Manifest文件就得了,是不是誤導!
10、重新指定keystore即可:storeFile file('C:/Users/cheng/.android/debug.keystore')
11、這種翻遍網站論壇都找不到解答的問題,讓自己找到了,還是相當喜悅的!
總結:
? 需要多多理解gradle的語法,讀懂build.gradle的配置。解決問題時多一個思路。當確定是SHA1的問題時,就沒必要馬上“建立分支”去解決官網AK生成的質疑,優先解決當下主干重點。
轉載于:https://blog.51cto.com/weijiancheng/1846803
總結
以上是生活随笔為你收集整理的导入BaiduMapSdkDemo报230错误解决思路的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习之决策树熵信息增量求解算法实现
- 下一篇: Centos Missing Libra