您好,登錄后才能下訂單哦!
百度地圖官網教程,官方論壇的指導文章都指引讀者去使用默認的.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生成的質疑,優先解決當下主干重點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。