本帖最後由 lqzcc 於 2016-5-6 14:00 編輯
Android Studio 和 Eclipse 中獲取SHA1詳解
簽名文件keystore一般有兩種:jks後綴或者keystore後綴,Android Studio中創建的爲jks後綴,keytool創建的爲keystore後綴,兩種文件均可用於APP打包。
開發版SHA1:是指在開發調試時,從Android Studio或者Eclipse中直接運行的APP在打包時使用了開發工具默認的開發版(debug)簽名文件,開發版簽名文件對應有唯一的SHA1。
發佈版SHA1:是指在提交測試或發佈時,APP簽名打包過程中選擇的指定簽名文件,一般此簽名文件爲開發者或者開發團隊持有,與具體的開發工具無關,發佈版簽名文件同樣也對應有唯一的SHA1。
Android Studio
在AndroidStudio中的Terminal中使用keytool命令獲取。
發佈版SHA1
前提:需要知道簽名文件keystore中key的別名(非必需,可不填),keystore路徑和keystore的密碼。
-
keytool -exportcert -list -v -alias <your-key-name> -keystore <path-to-production-keystore>
複製代碼
其中<your-key-name>替換爲自己發佈版簽名文件中key的別名(非必需,如果不知道別名去掉-alias
<your-key-name>即可),<path-to-production-keystore>替換爲自己發佈版簽名文件的完整路徑,例如我的keystore文件存放在D:\ReleaseApp.jks(Windows操作系統),key別名爲androidrelease,在Android
Studio中的Terminal中輸入:
-
keytool -exportcert -list -v -alias androidrelease -keystore D:\ReleaseApp.jks
複製代碼
然後輸入密碼,確認正確之後回車,在證書指紋中會顯示此簽名文件的SHA1:
若爲keystore類型的文件同樣操作即可獲取。如keystore文件存放在D:\ release.keystore(Windows操作系統),key別名爲release.keystore,在Android Studio中的Terminal中輸入:
-
keytool -exportcert -list -v –alias release.keystore -keystore D:\release.keystore
複製代碼
然後輸入密碼,確認正確之後回車,在證書指紋中會顯示此簽名文件的SHA1:
開發版SHA1
前提:簽名文件keystore的別名默認爲androiddebugkey,keystore默認路徑爲%USERPROFILE%\.android\debug.keystore(Windows操作系統下。若爲Mac和Linux,此路徑應該爲~/.android/debug.keystore)和keystore的密碼默認爲android。
-
keytool -exportcert -list -v -alias <your-key-name> -keystore <path-to-production-keystore>
複製代碼
其中<your-key-name>替換爲androiddebugkey,<path-to-production-keystore>替換爲%USERPROFILE%\.android\debug.keystore(Windows操作系統下。若爲Mac和Linux,此路徑應該爲~/.android/debug.keystore)。
若爲Windows操作系統,在Android Studio中的Terminal中輸入:
-
keytool -exportcert-list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore
複製代碼
若爲Mac和Linux操作系統,在Android Studio中的Terminal中輸入:
-
keytool -exportcert -list -v -aliasandroiddebugkey -keystore ~/.android/debug.keystore
複製代碼
然後輸入密碼android,確認正確之後回車,在證書指紋中會顯示此簽名文件的SHA1:
####################################################################################
Eclipse
在Eclipse中直接查看或者使用keytool命令獲取。
發佈版SHA1
前提:需要知道簽名文件keystore中key的別名(非必需,可不填),keystore路徑和keystore的密碼。
-
keytool -exportcert -list -v -alias <your-key-name> -keystore <path-to-production-keystore>
複製代碼
其中<your-key-name>替換爲自己發佈版簽名文件中key的別名(非必需,如果不知道別名去掉-alias <your-key-name>即可),<path-to-production-keystore>替換爲自己發佈版簽名文件的完整路徑,例如我的keystore文件存放在D:\ReleaseApp.jks,key別名爲androidrelease。進入Windows控制檯在命令行中輸入:
-
keytool -exportcert -list -v -alias androidrelease -keystore D:\ReleaseApp.jks
複製代碼
然後輸入密碼,回車確認正確之後,在證書指紋中會顯示此簽名文件的SHA1:
開發版SHA1
第一種方法:在Eclipse(ADT)中直接查看:windows
-> preferance -> android -> build。如下圖示:
第二種方法:如同發佈版SHA1查看一樣,簽名文件keystore的別名爲androiddebugkey,keystore路徑爲%USERPROFILE%\.android\debug.keystore(Windows操作系統上)和keystore的密碼爲android。
-
keytool -exportcert -list -v -alias <your-key-name> -keystore <path-to-production-keystore>
複製代碼
其中<your-key-name>替換爲androiddebugkey,<path-to-production-keystore>替換爲%USERPROFILE%\.android\debug.keystore,所以進入Windows控制檯在命令行中輸入:
-
keytool -exportcert-list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore
複製代碼
然後輸入密碼android,確認正確之後回車,在證書指紋中會顯示此簽名文件的SHA1:
|