签名文件keystore一般有两种:jks后缀或者keystore后缀,Android Studio中创建的为jks后缀,keytool创建的为keystore后缀,两种文件均可用于APP打包。
开发版SHA1:是指在开发调试时,从Android Studio或者Eclipse中直接运行的APP在打包时使用了开发工具默认的开发版(debug)签名文件,开发版签名文件对应有唯一的SHA1。
发布版SHA1:是指在提交测试或发布时,APP签名打包过程中选择的指定签名文件,一般此签名文件为开发者或者开发团队持有,与具体的开发工具无关,发布版签名文件同样也对应有唯一的SHA1。
在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:
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
开发版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:
sha1
网友评论