在使用一些在线的服务的SDK的时候都要求填写 项目包名 和 Android签名证书的SHA1值
一、项目包名
打开项目的AndroidManifest.xml文件;路径为:项目名称\app\src\main\AndroidManifest.xml
![](https://img-blog.csdnimg.cn/img_convert/621cd0c566fa7e5f76c19fb5bd1cb86a.png)
打开build.gradle,路径为:项目\app\build.gradle,查询 applicationId
![](https://img-blog.csdnimg.cn/img_convert/94008faf3f914670e355e2711d4a10bd.png)
二、获取SHA1值
1、百度地图SDK文档方法
部分电脑上Android Studio调试时使用的key可能不是这个方法提供的,该方法如果不行就使用后面的方法
调试版本(debug)和发布版本(release)下的 SHA1 值是不同的,发布 apk 时需要根据发布 apk 对应的 keystore 重新配置 Key。(注意:我们这里使用的是调试版本,在开发时请使用调试版本) 。
- 运行进入控制台(以Window开发环境为例)
![](https://img-blog.csdnimg.cn/img_convert/7f53edf23a79c411d9ce0a07cf3b20a2.png)
2. 定位到.android文件夹下,输入cd .android
![](https://img-blog.csdnimg.cn/img_convert/092acc8b62de7d99ee8273d4f167c691.png)
3. 继续在控制台输入命令
调试版本使用debug.keystore,命令为:
keytool -list -v -keystore debug.keystore
发布版本使用apk对应的keystore,命令为:keytool -list -v -keystore apk 的 keystore。
4. 输入密码获取
提示输入密钥库密码,调试版本默认密码是: android,发布模式的密码是apk的keystore设置的密码。输入密钥后回车(如果没设置密码,可直接回车),此时可在控制台显示的信息中获取SHA1值,如下图所示:
![](https://img-blog.csdnimg.cn/img_convert/cd6cc9e978dee020c2951ed15ff700ba.png)
2、自行生成签名文件并使用签名
- 打开Android Studio的 Build -> Generate Signed Bundle/APK 菜单
新版Android Studio有两个选项,任选其一
![](https://img-blog.csdnimg.cn/img_convert/019ded8c5d3cee2a7e0bd8cbf21f547e.png)
2. 点击Create new按钮,创建一个新的签名文件
![](https://img-blog.csdnimg.cn/img_convert/387c9b22560eaf6ef19df6ac814fada8.png)
3. 填写相关信息
请记录相关的信息,尤其是key Store密码、key的别名、key的密码
建议使用一个文件将所有填写的信息保存
![](https://img-blog.csdnimg.cn/img_convert/cacdb515b232376e55397e544c330893.png)
4. 点击OK后生成.jks签名文件
3、获取生成的签名文件的SHA1值
- 打开 Powershell窗口
根据选择的文件路径,在文件资源管理器中找到刚刚生成的.jks文件,并在该文件所在目录的空白处,按住Shift键再按右键,右键菜单中 在此处打开 Powershell窗口
![](https://img-blog.csdnimg.cn/img_convert/f8a553ceec06a19ec739d88fe28fb8ac.png)
2. 输入以下命令并回车
keytool -list -v -keystore 签名文件名称.jks
![](https://img-blog.csdnimg.cn/img_convert/2ce576baaafc9567d22842be06e862f1.png)
注:容易出错
![](https://img-blog.csdnimg.cn/img_convert/929fb408067ae8d7dc461f53ea899c39.png)
这是Android Studio中的jdk和系统的jdk版本不一致引起的
![](https://img-blog.csdnimg.cn/img_convert/6992191416a6c906584250203926afd5.png)
在上图中找到Android Studio中的jdk路径,然后直接使用Android Studio中的jdk,如我的:
E:\android\AndroidStudio\jre\bin\keytool -list -v -keystore mykey20230202-2.jks
![](https://img-blog.csdnimg.cn/img_convert/ed8d8e7d6c1ea775ad5c68aa1877352f.png)
3、给项目设置签名
在此项目中,为了方便测试,调试版本(debug)和发布版本(release)设置为了相同的签名,实际开发中不能这样设置
- 打开项目的 Project Structure(File -> Project Structure)
![](https://img-blog.csdnimg.cn/img_convert/6e61d78dd928f87beb2c1cf85b8e0edb.png)
2. 添加一个Singing配置
![](https://img-blog.csdnimg.cn/img_convert/ba1168e44001e1d3d7474cbef77acc56.png)
![](https://img-blog.csdnimg.cn/img_convert/5f750581007b64ff135d599f089d5c45.png)
3. 配置签名
![](https://img-blog.csdnimg.cn/img_convert/344713aa97c12d0876d525819a0f59b8.png)
点击OK后等待项目重新Build
注意,如果之前已经在Android虚拟机或者手机中安装过该项目的app,那么再次运行或者调试时会提示 签名和以前不一样,需求先卸载以前的app