1.AndroidStudio签名及获取SHA1
一、生成签名文件
1. 在as菜单栏中找到“bulid”这一栏,选择“Generate Signed APK”
2. 这里选择新建一个文件。
- ”Create new…”新建一个签名文件
- ”Choose existing…”选择一个已经存在的签名文件
3. 填写完整的签名信息。这里密码统一填写“android”,别名写个“key”即可。其他的信息根据实际情况和需求填写,并不很重要。
- Key store path : 签名文件路径
- Password : 签名密码
- Confirm : 确认密码
- Alias : 别名
- Validity ( years ) : 有限期 (年)
- First and Last Name : 全名
- Organizational Unit : 组织单位
- Organization : 组织
- City or Locality : 城市或地方
- State or Province : 州或省
- Country Code(XX) : 国家代码
4. 填写完成选择OK。来到以下这个页面
5. 猛击下一步。在Build Type选择构建类型release。选择Finish这样就生成了签名文件。
- APK Destination Folder : apk目标文件夹
- Build Type : 构建类型
- release是发布版本用的签名文件
- debug是debug用的签名文件
二、配置gradle让APP自动签名
1 . 在as菜单栏中选择如下图标
2 . 选择“String”菜单栏—>选中”+”添加标签—>填写一个自定义的名称—>根据新建签名文件时的信息填写完整
3 . 填写完成选择OK。在studio编译完成后,会在build.gradle文件中会自动生成如下配置信息,大功告成。
三、Studio生成SHA1和MD5值
方法一,生成SHA1和MD5值可以使用DOS窗口命令生成,在as中我们可以直接使用Terminal工具
1 . 在as底部菜单栏中选择Terminal工具
2 . 使用DOS命令将目录切换成donkor.jks文件目录下,输入keytool -list -v -keystore donkor.jks,按下回车键。输入keystore密码 android(这个是新建签名文件时填写完整信息对应的密码,“android”是我当时填写的密码),即可完成。
方法二,Studio工具中,在右侧找到菜单栏“Gradle”—>”APP名”—>“Tasks”—>“android”—>双击“signReport”即可。这时生成出来的只是debug的SHA1和MD5值。
如果想要生成release的SHA1和MD5的值,需要在build.gradle中配置如下。重复上述操作即可得到debug,release的SHA1和MD5的值。
2. Eclipse获取Sha1
获取 Sha1 值
开发模式(debug)和发布模式(release)下的 sha1 值是不同的,发布 apk时 需要根据发布apk对应的keystore重新配置Key,获取发布模式下的sha1的方法请参考方法二。
下面介绍获取 Sha1 值的方法。
通过Eclipse获取SHA1:
使用 adt 22 以上版本,可以在 eclipse 中直接查看。Windows:依次在 eclipse 中打开 Window -> Preferances -> Android -> Build。Mac:依次在 eclipse 中打开 Eclipse/ADT->Preferances -> android -> Build。在弹出的 Build 对话框中 “SHA1 fingerprint” 中的值即为 Android 签名证书的 Sha1 值,如下图所示:
通过Android Studio获取SHA1:
第一步、打开Android Studio的Terminal工具
第二步、输入命令:keytool -list -v -keystore keystore文件路径
第三步、输入Keystore密码
使用 keytool(jdk自带工具)获取SHA1:
,按照如下步骤进行操作:
1.运行进入控制台。
2.在弹出的控制台窗口中输入 cd .android 定位到 .android 文件夹。
3.继续在控制台输入命令。
开发模式使用 debug.keystore,命令为:keytool -list -v -keystore debug.keystore发布模式使用 apk 对应的 keystore,命令为:keytool -list -v -keystore apk的keystore如下所示:
提示输入密钥库密码,开发模式默认密码是 android,发布模式的密码是为 apk 的 keystore 设置的密码。输入密钥后回车(如果没设置密码,可直接回车),此时可在控制台显示的信息中获取 Sha1 值,如下图所示:
说明:keystore 文件为 Android 签名证书文件。
3.获取APK签名打包的SHA1
1.把apk的格式改为压缩文件,进行解压。
2.在解压出来的文件中获取META-INF文件夹下的CERT.RSA文件。
3.打开cmd Keytool –printcert –file 后面接文件的路径。
这样就能获取到apk的sha1和md5了