android 高德地图系统签名后定位失败解析
2017-08-17 10:51
453 查看
最近在做React-Native项目,里面一个BUG,是定位失败问题,但是不管怎么实验,我在运行的时候是OK的,为什么签名之后就不行了,然后想着高德地图的key需要SHA1的值,而我所取得值和我签名的值是否不同,通过以下方式获取
1、首先,大家知道高德地图定位,服务端申请key,需要sha1值
通过以下方式获取SHA1算法
2、在调试时候,使用的是androidstudio 的签名,sha1值ok
3、在使用系统签名文件,签名后,定位一直是0.
4、原来是sha1值改变,debug模式和release的SHA1值不同。
获取系统签名sha1值
1、系统签名apk文件之后,解压出来。
2、取出解压文件夹下的META_INFO中CERT.RSA文件。
3、在文件夹标题栏敲入cmd命令打开命令行工具。
4、cmd下执行keytool -printcert -file CERT.RSA路径。
5、将sha1值添加到高德key中,可以为发布sha1,讲studio的sha1更改为调试sha1.
![](https://img-blog.csdn.net/20170817105335082?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2lzdHlfeWFv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
最后:编译、签名、安装、定位,可以实现定位了。
1、首先,大家知道高德地图定位,服务端申请key,需要sha1值
通过以下方式获取SHA1算法
public static String sHA1(Context context) { try { PackageInfo info = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES); byte[] cert = info.signatures[0].toByteArray(); MessageDigest md = MessageDigest.getInstance("SHA1"); byte[] publicKey = md.digest(cert); StringBuffer hexString = new StringBuffer(); for (int i = 0; i < publicKey.length; i++) { String appendString = Integer.toHexString(0xFF & publicKey[i]).toUpperCase(Locale.US); if (appendString.length() == 1) hexString.append("0"); hexString.append(appendString); hexString.append(":"); } String result = hexString.toString(); return result.substring(0, result.length()-1); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return null; }
2、在调试时候,使用的是androidstudio 的签名,sha1值ok
3、在使用系统签名文件,签名后,定位一直是0.
4、原来是sha1值改变,debug模式和release的SHA1值不同。
获取系统签名sha1值
1、系统签名apk文件之后,解压出来。
2、取出解压文件夹下的META_INFO中CERT.RSA文件。
3、在文件夹标题栏敲入cmd命令打开命令行工具。
4、cmd下执行keytool -printcert -file CERT.RSA路径。
5、将sha1值添加到高德key中,可以为发布sha1,讲studio的sha1更改为调试sha1.
最后:编译、签名、安装、定位,可以实现定位了。
相关文章推荐
- android 高德地图系统签名后定位失败解析
- android 高德地图系统签名后定位失败解析
- android 高德地图系统签名后定位失败解析
- android 高德地图系统签名后定位失败解析
- android 高德地图系统签名后定位失败解析
- android 高德地图系统签名后定位失败解析
- android 高德地图系统签名后定位失败解析
- android 高德地图出现【定位失败key鉴权失败】
- android 高德地图出现【定位失败key鉴权失败】
- Android简易的自动更新(通知栏+系统下载),包含7.0系统解析安装包失败的处理
- android中高德地图定位功能并且获取定位的城市
- Android 高德地图定位功能的实现步骤
- Delphi XE8安卓(android)定位纠偏、地图简单调用、检测开启系统GPS
- Android开发之高德地图实现定位
- Android中高德地图定位功能的实现
- android:应用程序内定位处理,百度定位,高德定位,系统定位处理.
- unity3d,android平台下,高德地图定位,定位模式设定
- Android学习之高德地图 一(定位)
- Android之高德地图定位SDK集成及地图功能实现
- Android高德地图开发--读取解析KML文件并显示在地图上