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:
若为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: