自2018年10月18日起,高德开发者论坛除车机板块外,其他板块将停止发帖与维护,如您有使用问题请 提交工单 联系我们,感谢您的理解。

楼主: 小溪儿1988
打印 上一主题 下一主题

[应用案例] KEY鉴权失败如何处理?

[复制链接]
最佳答案
432 

5

主题

4048

帖子

8759

积分

超级版主

Rank: 8Rank: 8

积分
8759
跳转到指定楼层
楼主
发表于 2015-3-16 10:31:48 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 小溪儿1988 于 2015-9-14 17:26 编辑

一些用户在替换了新版本的SDK包,查看错误码是32(key鉴权失败)。自己如何排查问题呢?1、查看key是否已经重新申请。如果您的key是14年9月23日之前申请的,需要您登陆账号重新申请key进行使用。新申请的key是需要绑定app的包名和SHA1。
SHA1的获取方法参见http://lbs.amap.com/home/faq/key/#Q08
2、工程内使用到的lbs产品都要进行更新。除了更新定位SDK到V1.3.0及以上版本,其他产品,如地图包也要更新。地图包需要更新到V2.3.0及以上版本。
3、SHA1是否正确。SHA1分为debug版本和release版本,您打包的是否要确认下,绑定的SHA1是否对应。4、检查下添加key的方式。配置文件的话,key的位置是否添加正确,标红文字不需要变更 ;如果使用定位SDK,是不能使用代码设置的方式添加key。
       <application        android:icon="@drawable/ic_launcher"
        android:label="@string/demo_title" >
        <meta-data
            android:name="com.amap.api.v2.apikey"
            android:value="添加key" />







回复

使用道具 举报

最佳答案
432 

5

主题

4048

帖子

8759

积分

超级版主

Rank: 8Rank: 8

积分
8759
沙发
 楼主| 发表于 2015-6-24 11:41:48 | 显示全部楼层
amap_1371800619 发表于 2015-6-24 11:16
一直抱32的错误,搞不懂为什么,你们这鉴权是不是有问题啊?

打印下SHA1,是否跟绑定的不一致,其他产品,是不是也更新了版本。
publicstatic 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)
.toUpperCase(Locale.US);
if (appendString.length() == 1)
hexString.append("0");
hexString.append(appendString);
hexString.append(":");
}
return hexString.toString();
} catch (NameNotFoundException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
returnnull;
}
回复 支持 0 反对 1

使用道具 举报

最佳答案
432 

5

主题

4048

帖子

8759

积分

超级版主

Rank: 8Rank: 8

积分
8759
板凳
 楼主| 发表于 2015-7-6 10:35:31 | 显示全部楼层
amap_1861008939 发表于 2015-7-4 17:21
版主,我也遇到这样的 鉴权失败 问题,请问如果不在Eclipse 中调试,而是直接放在Android源码中编译,请问sha ...

可以参照上边代码打印一下看看。
回复 支持 反对

使用道具 举报

最佳答案
432 

5

主题

4048

帖子

8759

积分

超级版主

Rank: 8Rank: 8

积分
8759
地板
 楼主| 发表于 2015-8-20 16:22:37 | 显示全部楼层
shbj 发表于 2015-8-13 15:56
我同一个key在我之前版本的app上是没有问题的 最新一次更新的版本一致提示key鉴权失败  ...

添加一项有可能出现的问题
1、检查下添加key的方式。配置文件的话,key的位置是否添加正确 ;如果使用定位SDK,是不能使用代码设置的方式添加key。
回复 支持 反对

使用道具 举报

最佳答案
432 

5

主题

4048

帖子

8759

积分

超级版主

Rank: 8Rank: 8

积分
8759
5#
 楼主| 发表于 2015-10-16 17:35:56 | 显示全部楼层
amap_tel_5620552eed7ff36083 发表于 2015-10-16 16:28
版主,请问如果不在Eclipse 中调试,而是直接放在Android源码中编译,请问sha1怎么获得? ...

有代码方式,看下:
publicstatic 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)
.toUpperCase(Locale.US);
if (appendString.length() == 1)
hexString.append("0");
hexString.append(appendString);
hexString.append(":");
}
return hexString.toString();
} catch (NameNotFoundException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
returnnull;
}
回复 支持 反对

使用道具 举报

最佳答案
432 

5

主题

4048

帖子

8759

积分

超级版主

Rank: 8Rank: 8

积分
8759
6#
 楼主| 发表于 2015-10-20 09:56:09 | 显示全部楼层
守护者123 发表于 2015-10-19 18:35
http://lbsbbs.amap.com/forum.php?mod=viewthread&tid=8979  大神帮我看看呗

回答你啦
回复 支持 反对

使用道具 举报

最佳答案
432 

5

主题

4048

帖子

8759

积分

超级版主

Rank: 8Rank: 8

积分
8759
7#
 楼主| 发表于 2015-11-18 20:57:54 | 显示全部楼层
岑兴灿 发表于 2015-11-16 01:17
你好,如果我是做手机方案的,我想在源码中使用高德的API,我在eclipse里面调好的代码(包括AndroidManifest ...

确认下 key是否申请的是android平台,填写添加的地方是否正确。
回复 支持 反对

使用道具 举报

最佳答案
432 

5

主题

4048

帖子

8759

积分

超级版主

Rank: 8Rank: 8

积分
8759
8#
 楼主| 发表于 2015-11-24 09:37:28 | 显示全部楼层
岑兴灿 发表于 2015-11-21 20:49
哎,这个当然确认了,你一直没搞清楚我问的问题是什么

那你能详细描述下吗?
回复 支持 反对

使用道具 举报

最佳答案
432 

5

主题

4048

帖子

8759

积分

超级版主

Rank: 8Rank: 8

积分
8759
9#
 楼主| 发表于 2016-2-23 20:35:20 | 显示全部楼层
amap_tel_561b766559e0f90549 发表于 2016-2-22 11:14
我的SHA1  都是正确的 而且 包名也正确 我的KEY值复制过来的 配置也正确 为什么还会有Key鉴权失败 ...

你把配置文件给我看下。或者看看 这个key 是否可以使用在android SDK上。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|高德开发者论坛

Copyright ©2014 高德开发者论坛.All Rights Reserved |京ICP证070711号

意见反馈 常见问题 服务条款 联系我们
快速回复 返回顶部 返回列表