[圖片上傳中。。。(1)]一步AS獲取MD5,SHA1值:
打開項(xiàng)目后,右側(cè)Grade里,項(xiàng)目名稱->Tasks->android->signingReport,雙擊一下。下方會(huì)跳出對應(yīng)的MD5,SHA1值

SHA1的使用區(qū)別
我們在使用像高德、友盟這種第三方時(shí),會(huì)遇到讓我們填寫SHA1值以生成對應(yīng)的key。
這個(gè)時(shí)候我要提供的SHA1值就有兩個(gè)了。即debug測試下的和release發(fā)布下的。
如果說我們使用的是debug測試下的SHA1值,則,當(dāng)我不在當(dāng)前的電腦上安裝app。使用別的電腦裝。則會(huì)使程序無法正常的使用。
舉個(gè)例子:高德的定位,如果我使用debug測試下的SHA1值。那么和我一起合作開發(fā)的同事,他在他的電腦上使用時(shí),則無法正常的顯示定位。所以,我要做的就是使用release發(fā)布下的SHA1值去申請key,以提供給同事讓他能去單獨(dú)開發(fā)。
所以:如果是合作開發(fā)就是先打包,用正式的key。單獨(dú)開發(fā)可以先用debug的,再準(zhǔn)備發(fā)布時(shí),換成打包后的正式的。
打包后怎么獲取sha1值呢?其實(shí)我這個(gè)打包后獲取sha1值,其實(shí)是指生成了jks簽名文件。即密鑰名.keystore
那我們怎么通過密鑰名.keystore得到SHA1呢。這里我就要介紹一種通過as的Terminal的方式用命令行來得到:
1、打開android studio 找到Terminal并打開,或者在最下面找到Terminal 如下圖:

2、輸入命令 keytool -list -v -keystore 文件目錄\自己的簽名文件 比如我的:keytool -list -v -keystore C:\Users\dell.android\rcjs.keystore ,接著按回車,然后輸入密鑰庫密碼:(debug下的測試SHA1值也可以通過代碼行來得到,這個(gè)時(shí)候目錄為C:\Users\dell.android,簽名文件 為debug.keystore,debug.keystore的密鑰庫密碼是沒有??梢灾苯踊剀囘M(jìn)入) 回車(密鑰庫口令是看不到的)如下圖:

這樣就能通過jks簽名文件成功獲取到SHA1值了。發(fā)布版的,就是不用debug.keystore而是用自己生成的keystore。
綜上:
1、三方 默認(rèn) 使用兩個(gè) SHA1 值來生成key
一個(gè)正式 --> 讓其他開發(fā)者,通過打正式包的形式 使用三方的功能.
一個(gè)測試 --> 測試的SHA1 值 會(huì)讓改值的開發(fā)者使用run 來使用功能
所以,如果是合作開發(fā)最好先打包,用正式的key。單獨(dú)開發(fā)兩者皆可,為了測試可以先用debug的,再準(zhǔn)備發(fā)布時(shí),換成打包后的正式的。
2、要得到正式的SHA1值,可通過Terminal用命令行獲得。
要得到測試的SHA1值,可通過Grade生成,也可以用Terminal的命令行獲得。