获取Android签名文件的MD5和SHA1指纹

本文讨论了在集成厂商AAR库时,需提供应用包名、MD5和SHA1指纹。作者提到通过AndroidStudio和gradle配置查看并管理应用的签名指纹,以及签名有效期的设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以前在App中集成百度地图时,需要在百度地图的开发者网站上绑定应用的包名和签名,以预防自己的key被别人乱用。

最近公司的一个球机产品也搞了类似的做法,我们要访问它的摄像头功能需要使用厂家提供的aar库,但是你要想正常调用它的Api,需要先提供应用的包名和签名文件的MD5和SHA1指纹,这比百度地图还多了一个,百度地图只需要SHA1,而他们竟然还要MD5一起,这两个有一个不就可以了吗,搞不懂。这也告诉我们在App中可以通过代码再次获取到app签名文件的指纹,这样厂家的aar库才能进行比较验证,有时间也可以查一下怎么实现的,这样以后如果自己公司有这样的需求也可以这样做了。

按照百度地图的命令是查看不到MD5指纹的,这个命令是只要安装了JDK环境就可以使用,百度地图提供的查看命令如下:

keytool -list -v -keystore platform.jks

这个jks文件可以根据你的签名文件修改,运行结果如下:
在这里插入图片描述
经过百度,发现有更简单的方式,使用Android Studio即可,首先需要在应用的gradle配置文件中配置好打包的配置,示例如下:
在这里插入图片描述
如上图,我们有两个变体,一个是debug版本,一个是release版本,两个变体都用了相同的签名文件,正常情况下debug版本要用debug的签名,release版本要用release的签名,应该分开的,但是因为我的应用需要使用系统签名,所以就算是debug版本也需要系统签名,不能使用Android Studio自带的那个默认的debug签名,否则应用中需要系统签名的Api就调用不了,一调用就会崩掉,所以可以配置成都用同一个签名配置即可。看着好像只有两个变体,其实有3个的,我也是运行了查看签名指纹的命令才发现的,在gradle的运行界面中输入如入命令,然后回车:

gradle signingReport

在这里插入图片描述

运行结果如下:
在这里插入图片描述
如上图,可以看到有三个变体:debug、release、debugAndroidTest,它们的指纹都是一样的,因为我们配置的时候配置成了同一个,其中debugAndroidTest变体无需配置,它是Android Studio自动生成的。

另外,在结果中可以看到,签名的有效期到2035年,离现在也就12年左右,好像有点短啊。这个有效期究竟可以设置多长,挺好奇的,于是用Android Studio生成一个签名,发现最长可以设置为1000年,截图如下:
在这里插入图片描述
再向上按发现就上不去了,或者直接输入更大的值也不行,只要光标定位到另外的输入框,有效期就会变成最近一次的有效输入(小于1000的值)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

android_cai_niao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值