在使用一些在线的服务的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