高德地图API INVALID_USER_SCODE问题以及keystore问题

今天这篇文章会给你们介绍三个问题:java

1,接入API时出现invalid_user_scode问题

首先进行第一个大问题,接入高德地图API时出现invalid_user_scode问题android

由于项目须要接入高德地图的API,在接入其它API时会出现相似问题,在进行定位的时候出现了下列问题api

 

运行时log信息以下安全

能够看到,定位失败有两个缘由:测试

1,错误代码为10,定位服务启动失败。gradle

2,错误代码为7,key错误。ui

根据高德地图的官方使用文档的介绍,对相关问题进行处理debug

 

问题1:服务启动失败:检查清单配置文件Androidmanifest.xml,服务已经配置完成,以下调试

 

<service android:name="com.amap.api.location.APSService"/>

 

后来对比高德地图给的demo才发现,是由于少加了一个jar包,以下图中未添加蓝色选中的包code

添加上以后,运行程序,进行定位操做,log信息以下:

由log所打印的信息,能够看出三点:

1,定位服务启动失败问题已解决,现已启动成功

2,key错误问题仍旧存在

3,调用定位方法时是每隔一小段时间便进行一次定位 

接下来,须要解决问题2。

问题2:key错误,官方文档中说,请仔细检查key绑定sha1与签名的apk的sha1是否一致:

在解决该问题时发现我犯了两个不应犯的错误:

    第一,在build.gradle文件中忘记添加代码:

 

android {
    signingConfigs {
        //调试版的keystore
        debug {
            storeFile file("keystore文件所在位置")
            storePassword "你规定的密码"
            keyAlias "在建立keystore时你所填写的alias"
            keyPassword "你规定的密码"
        }
        //发布版的keystore
        release {
            storeFile file("keystore文件所用位置")
            storePassword "你规定的密码"
            keyAlias "在建立该keystore文件时你所写的alias"
            keyPassword "你规定的密码"
        }
    }
}


    第二,在申请key时,个人sha1填写格式错误,错误示范以下:

 

    

       正确的填写格式以下:


到此,个人程序已经能够实现定位,以下图:

 

2,如何建立本身的keystore,以及如何修改发布版和测试版的keystore

如今讨论第二个大问题,如何建立keystore文件,以及如何去修改发布版和开发版的keystore:

以Androidstudio为例进行keystore文件的建立:

接下来:

而后,图中红线标注的地方,是必需要记住的 ,由于须要在程序里使用

完成以上步骤后,你的keystore文件就建立成功了,接下来,你须要在build.gradle文件中使用,文中已经交到了,再也不赘述,对不一样 的keystore文件作相应修改便可,但要记住当你的keystore文件修改时也就表明你程序的sha1将要发生变化,必定要记得在网上对你的应用进行配置更新

 

3,如何查看keystore文件的sha1安全码

第三个大问题,有了keystroe文件后,如何去查看所谓的sha1码呢?

须要借助cmd,(若是不知道如何打开cmd,以及jdk的配置,请自行百度,博主再也不多说)

在cmd中输入以下命令:keytool -list -keystore <keystore位置>

而后输入密码,获得sha1:

相关文章
相关标签/搜索