Android Studio 和 Eclipse 中获取SHA1详解

Original 2016-11-17 11:31:27 663
abstract:签名文件keystore一般有两种:jks后缀或者keystore后缀,Android Studio中创建的为jks后缀,keytool创建的为keystore后缀,两种文件均可用于APP打包。开发版SHA1:是指在开发调试时,从Android Studio或者Eclipse中直接运行的APP在打包时使用了开发工具默认的开发版(debug)签名文件,开发版签名文件对应有唯一的SHA1。发布版SHA

签名文件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:

132944p2ki0z1vp3l1l2v1.jpg

若为keystore类型的文件同样操作即可获取。如keystore文件存放在D:\ release.keystore(Windows操作系统),key别名为release.keystore,在Android Studio中的Terminal中输入:

keytool -exportcert -list -v –alias release.keystore -keystore D:\release.keystore

复制代码

然后输入密码,确认正确之后回车,在证书指纹中会显示此签名文件的SHA1:

132944p2ki0z1vp3l1l2v1.jpg

开发版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:

132944p2ki0z1vp3l1l2v1.jpg

####################################################################################
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:

132944p2ki0z1vp3l1l2v1.jpg

开发版SHA1

第一种方法:在Eclipse(ADT)中直接查看:windows -> preferance -> android -> build。如下图示:

132944p2ki0z1vp3l1l2v1.jpg

第二种方法:如同发布版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:

132944p2ki0z1vp3l1l2v1.jpg

Release Notes

Popular Entries