潍坊网站关键词推广,湖南餐饮网站建设,黄浦西安网站建设,云访客类似的网站以前在App中集成百度地图时#xff0c;需要在百度地图的开发者网站上绑定应用的包名和签名#xff0c;以预防自己的key被别人乱用。
最近公司的一个球机产品也搞了类似的做法#xff0c;我们要访问它的摄像头功能需要使用厂家提供的aar库#xff0c;但是你要想正常调用它的…以前在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的值