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

查看: 8960|回复: 38
打印 上一主题 下一主题

[应用案例] 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" />







回复

使用道具 举报

最佳答案
0 

0

主题

1

帖子

6

积分

新手上路

Rank: 1

积分
6
推荐
发表于 2015-4-20 17:08:04 | 只看该作者
你好,debug模式下的key,只能在当前机器上机器的eclipse上调试吗,我发现换到别人机器上用不了了啊。

我也碰到这个问题? 如果是这样, 那多人协同开发怎么解决? 总不至于每个人都去申请一个debug模式的key吧
回复 支持 0 反对 1

使用道具 举报

最佳答案
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

使用道具 举报

最佳答案
0 

1

主题

2

帖子

11

积分

新手上路

Rank: 1

积分
11
沙发
发表于 2015-4-13 09:49:27 | 只看该作者
你好,我用debug模式下的的sha1申请的key刚开始可以用,差不多2周之后就key验证失效,这是为什么啊?我用发布版的sha1申请的key我调试下直接说key验证无效。我该怎么正常调试,发布下使用什么key?
回复 支持 反对

使用道具 举报

最佳答案
0 

2

主题

6

帖子

24

积分

新手上路

Rank: 1

积分
24
板凳
发表于 2015-4-20 13:35:29 | 只看该作者
你好,debug模式下的key,只能在当前机器上机器的eclipse上调试吗,我发现换到别人机器上用不了了啊。
回复 支持 反对

使用道具 举报

最佳答案
0 

3

主题

36

帖子

111

积分

注册会员

Rank: 2

积分
111
5#
发表于 2015-4-29 09:26:42 | 只看该作者
SH1来自打包时的签名文件,每个人电脑上默认的签名文件若不一致(尤其是debug模式默认使用预置的签名文件)自然是不行的。可以试试把这个签名文件复制给大家。
回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

2

帖子

8

积分

新手上路

Rank: 1

积分
8
6#
发表于 2015-6-24 11:16:13 | 只看该作者
一直抱32的错误,搞不懂为什么,你们这鉴权是不是有问题啊?
回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

2

帖子

8

积分

新手上路

Rank: 1

积分
8
8#
发表于 2015-6-24 15:30:13 | 只看该作者
前面两个证书都不行,重新换了第三个证书申请的,可以了,这是为什么呢?
回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

2

帖子

6

积分

新手上路

Rank: 1

积分
6
9#
发表于 2015-7-4 17:14:47 | 只看该作者
amap_1371800619 发表于 2015-6-24 15:30
前面两个证书都不行,重新换了第三个证书申请的,可以了,这是为什么呢? ...

您好,请教一下,重新换第三个证书是什么意思?
回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

2

帖子

6

积分

新手上路

Rank: 1

积分
6
10#
发表于 2015-7-4 17:21:30 | 只看该作者
小溪儿1988 发表于 2015-6-24 11:41
打印下SHA1,是否跟绑定的不一致,其他产品,是不是也更新了版本。
publicstatic String sHA1(Context co ...

版主,我也遇到这样的 鉴权失败 问题,请问如果不在Eclipse 中调试,而是直接放在Android源码中编译,请问sha1还是从Eclips中--->project--->preferencespro中去找吗? 但是我去我电脑中.android文件夹下,输入 keytool -list -keystore debug.keystore 发现只有认证指纹 (MD5)  没有sha1的,并且从eclipse中查看 md5的是和从.android文件夹中的是一致的 .请帮忙看一下,谢谢~
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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