報錯信息:E/Amap: location error, code = 7, info = KEY錯誤 請到http://lbs.amap.com/api/android-location-sdk/abouterrorcode/查看錯誤碼說明.
錯誤原因是SHA1不匹配:
-
如果clone別人的項目運行,先去高德地圖官網申請一個key,替換別人項目中原本的key。
-
如果項目是自己寫的,key也是自己申請的,請繼續下面的辦法。
解決辦法:
一、首先確定一下這三項是沒有錯誤的。
發布版和調試版不要寫混了哦。
驗證:
打開Android Studio 終端,輸入命令:
①發布版SHA1:keytool -exportcert -list -v -keystore D:\develop\xxxApp\JKS\xxxx.keystore
(將路徑換成自己的keystore或者jks文件的路徑,這個文件一般是自己生成的)
輸入密碼,可以看到SHA1值。
②調試版SHA1:keytool -exportcert -list -v -keystore C:\Users\lenovo.androi\debug.keystore
(將路徑替換成自己的,路徑一般在C盤\用戶\xxx.Android里面。)
③沒有寫錯包名。
檢查包名最穩妥的還是去app\src\main\AndroidManifest.xml文件里面看:
注意:SHA1值嚴格區分大小寫和空格。
如果這三項有誤,去高德地圖官網修改一下信息,重新生成key。
二、如果上面三項都沒有錯誤,那可能是調試版的SHA1不太行,這里說一下解決辦法,至於具體原因我也不清楚,以后有時間搞清楚了再來填坑。
①下載一個MCodeCheck工具 免費無需登錄下載地址
②在手機上安裝運行
③找到你要調試的app
④點擊得到信息
⑤用上面的SHA1值去替換申請高德地圖key時的調試版SHA1值,重新生成key。