天天看點

Android 百度地圖SHA1簽名的問題Android 百度地圖SHA1

Android 百度地圖SHA1

基本情況

最近接管了一個App的開發,其中需要接入百度地圖的API,百度地圖的API具體的使用方法參考官方文檔, 主要是要了解其中的簽名問題,否則簽名出問題則無法正常使用百度地圖的API。

我們在開發app過程中,會有開發狀态(debug)和釋出狀态(release)。百度地圖API需要這兩個狀态對應的SHA1值,否則無法使用。而API控制台的釋出版SHA1是必填項。

Android 百度地圖SHA1簽名的問題Android 百度地圖SHA1

debug

一個app必須進行簽名才能安裝在手機上(包括真機或模拟器)。開發、debug過程中,Android Studio會使用 /.android 目錄下的debug.keystone對app進行簽名,是以此時app才能安裝成功,是以,百度地圖的API控制台中的開發版SHA1(上圖),則填入debug.keystone的SHA1值。如何擷取SHA1值?

keytool -list -v -keystore debug.keystore
           

執行之後如圖:

Android 百度地圖SHA1簽名的問題Android 百度地圖SHA1

其中的SHA1值表示我們需要填入的值。

release

當App開發完成,需要将App進行釋出,釋出也需要填入SHA1值到百度地圖的API控制台,通過Android Studio的Build - Generate Signed APK來簽名釋出我們的App。

該方式需要簽名檔案YOUR_FILE_NAME.jks,如果沒有則create new,生成之後,同理對該檔案執行生成簽名資訊的指令:

keytool -list -v -keystore YOUR_FILE_NAME.jks
           

擷取YOUR_FILE_NAME.jks的SHA1值,填入到API控制台,則釋出的APP便能夠使用百度地圖的API。

問題

Authentication Error errorcode:  uid: - appid - msg: APP Scode碼校驗失敗
           

該問題主要是由于百度地圖SHA1簽名沒有填寫正确的原因,按照以上方式正确填寫便能夠解決。

繼續閱讀