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