Bootstrap

Android Studio获取SHA1值中为应用设置签名

在使用一些在线的服务的SDK的时候都要求填写 项目包名Android签名证书的SHA1值

一、项目包名

打开项目的AndroidManifest.xml文件;路径为:项目名称\app\src\main\AndroidManifest.xml

打开build.gradle,路径为:项目\app\build.gradle,查询 applicationId

二、获取SHA1值

1、百度地图SDK文档方法

部分电脑上Android Studio调试时使用的key可能不是这个方法提供的,该方法如果不行就使用后面的方法

调试版本(debug)和发布版本(release)下的 SHA1 值是不同的,发布 apk 时需要根据发布 apk 对应的 keystore 重新配置 Key。(注意:我们这里使用的是调试版本,在开发时请使用调试版本) 。

    • 运行进入控制台(以Window开发环境为例)

2. 定位到.android文件夹下,输入cd .android

3. 继续在控制台输入命令

调试版本使用debug.keystore,命令为:

keytool -list -v -keystore debug.keystore

发布版本使用apk对应的keystore,命令为:keytool -list -v -keystore apk 的 keystore。

4. 输入密码获取

提示输入密钥库密码,调试版本默认密码是: android,发布模式的密码是apk的keystore设置的密码。输入密钥后回车(如果没设置密码,可直接回车),此时可在控制台显示的信息中获取SHA1值,如下图所示:

2、自行生成签名文件并使用签名

    • 打开Android Studio的 Build -> Generate Signed Bundle/APK 菜单

新版Android Studio有两个选项,任选其一

2. 点击Create new按钮,创建一个新的签名文件

3. 填写相关信息

  • 请记录相关的信息,尤其是key Store密码key的别名key的密码

  • 建议使用一个文件将所有填写的信息保存

4. 点击OK后生成.jks签名文件

3、获取生成的签名文件的SHA1值

    • 打开 Powershell窗口

根据选择的文件路径,在文件资源管理器中找到刚刚生成的.jks文件,并在该文件所在目录的空白处按住Shift键再按右键,右键菜单中 在此处打开 Powershell窗口

2. 输入以下命令并回车

keytool -list -v -keystore 签名文件名称.jks
注:容易出错

这是Android Studio中的jdk和系统的jdk版本不一致引起的

在上图中找到Android Studio中的jdk路径,然后直接使用Android Studio中的jdk,如我的:

E:\android\AndroidStudio\jre\bin\keytool -list -v -keystore mykey20230202-2.jks

3、给项目设置签名

  • 在此项目中,为了方便测试,调试版本(debug)和发布版本(release)设置为了相同的签名,实际开发中不能这样设置

    • 打开项目的 Project Structure(File -> Project Structure)

2. 添加一个Singing配置

3. 配置签名

点击OK后等待项目重新Build

注意,如果之前已经在Android虚拟机或者手机中安装过该项目的app,那么再次运行或者调试时会提示 签名和以前不一样,需求先卸载以前的app

;