127 lines
3.2 KiB
Markdown
127 lines
3.2 KiB
Markdown
|
|
# 高德Key配置检查指南
|
|||
|
|
|
|||
|
|
## 错误代码 1008 说明
|
|||
|
|
|
|||
|
|
**错误代码 1008** 表示"Key鉴权未通过",通常由以下原因导致:
|
|||
|
|
|
|||
|
|
### 可能的原因:
|
|||
|
|
|
|||
|
|
1. **Key与包名不匹配**
|
|||
|
|
- 当前应用包名:`com.xunpaisoft.social`
|
|||
|
|
- 需要在控制台确认Key绑定的包名是否一致
|
|||
|
|
|
|||
|
|
2. **Key与SHA1不匹配**
|
|||
|
|
- Debug版本和Release版本可能使用不同的签名
|
|||
|
|
- 需要同时配置Debug和Release的SHA1
|
|||
|
|
|
|||
|
|
3. **搜索服务权限未开启**
|
|||
|
|
- 逆地理编码需要使用**搜索服务**
|
|||
|
|
- 需要在控制台为Key开启"搜索服务"权限
|
|||
|
|
|
|||
|
|
4. **Key类型不匹配**
|
|||
|
|
- 必须使用**Android平台**的Key
|
|||
|
|
- 不能使用Web服务的Key
|
|||
|
|
|
|||
|
|
## 检查步骤
|
|||
|
|
|
|||
|
|
### 1. 获取应用的SHA1签名
|
|||
|
|
|
|||
|
|
#### 方法一:使用keytool命令(推荐)
|
|||
|
|
|
|||
|
|
**Debug版本签名:**
|
|||
|
|
```bash
|
|||
|
|
# 查看debug keystore的SHA1(通常在用户目录下)
|
|||
|
|
keytool -list -v -keystore %USERPROFILE%\.android\debug.keystore -storepass android -alias androiddebugkey | findstr /i "SHA1"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Release版本签名:**
|
|||
|
|
```bash
|
|||
|
|
# 查看项目keystore的SHA1
|
|||
|
|
keytool -list -v -keystore keystore2 -storepass yuchen.com -alias yuchen | findstr /i "SHA1"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 方法二:通过Android Studio获取
|
|||
|
|
|
|||
|
|
1. 打开Android Studio
|
|||
|
|
2. 点击右侧 **Gradle** 面板
|
|||
|
|
3. 展开:`app` → `Tasks` → `android`
|
|||
|
|
4. 双击 `signingReport`
|
|||
|
|
5. 在Build窗口查看SHA1值
|
|||
|
|
|
|||
|
|
### 2. 登录高德开放平台检查Key配置
|
|||
|
|
|
|||
|
|
访问:https://lbs.amap.com/
|
|||
|
|
|
|||
|
|
1. **登录控制台**
|
|||
|
|
2. **进入"应用管理"** → 找到对应的应用
|
|||
|
|
3. **检查Key配置**:
|
|||
|
|
- ✅ 包名:`com.xunpaisoft.social`
|
|||
|
|
- ✅ SHA1:必须与应用的SHA1签名一致
|
|||
|
|
- ✅ 平台:必须是"Android平台"
|
|||
|
|
|
|||
|
|
4. **检查服务权限**:
|
|||
|
|
- ✅ **定位服务**:必须开启
|
|||
|
|
- ✅ **搜索服务**:必须开启(用于逆地理编码)
|
|||
|
|
|
|||
|
|
### 3. 当前配置信息
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
包名:com.xunpaisoft.social
|
|||
|
|
Key:2c5aa17a9ae467543613267692b4a206
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 4. 常见问题解决
|
|||
|
|
|
|||
|
|
#### 问题1:Key与SHA1不匹配
|
|||
|
|
|
|||
|
|
**解决方案:**
|
|||
|
|
1. 获取正确的SHA1签名(见步骤1)
|
|||
|
|
2. 在高德控制台添加该SHA1到Key配置中
|
|||
|
|
3. 重新编译运行
|
|||
|
|
|
|||
|
|
#### 问题2:搜索服务权限未开启
|
|||
|
|
|
|||
|
|
**解决方案:**
|
|||
|
|
1. 登录高德控制台
|
|||
|
|
2. 进入Key管理页面
|
|||
|
|
3. 找到对应的Key
|
|||
|
|
4. 在"服务"选项中勾选"搜索服务"
|
|||
|
|
5. 保存配置
|
|||
|
|
|
|||
|
|
#### 问题3:使用了错误的Key类型
|
|||
|
|
|
|||
|
|
**解决方案:**
|
|||
|
|
1. 确认Key是"Android平台"类型
|
|||
|
|
2. 如果是"Web服务"类型,需要重新创建"Android平台"的Key
|
|||
|
|
|
|||
|
|
### 5. 验证配置
|
|||
|
|
|
|||
|
|
配置完成后,重新编译运行应用,查看日志:
|
|||
|
|
|
|||
|
|
**成功日志:**
|
|||
|
|
```
|
|||
|
|
AMapLocationHelper: 高德搜索服务API Key设置成功: 2c5aa17***
|
|||
|
|
AMapLocationHelper: 逆地理编码成功 - 地址: xxx
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**失败日志(1008错误):**
|
|||
|
|
```
|
|||
|
|
AMapLocationHelper: 逆地理编码失败 - 错误代码: 1008
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
如果仍有1008错误,请检查:
|
|||
|
|
1. SHA1是否正确配置
|
|||
|
|
2. 搜索服务权限是否已开启
|
|||
|
|
3. 包名是否匹配
|
|||
|
|
|
|||
|
|
## 快速检查命令
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 检查Debug SHA1
|
|||
|
|
keytool -list -v -keystore %USERPROFILE%\.android\debug.keystore -storepass android -alias androiddebugkey | findstr /i "SHA1"
|
|||
|
|
|
|||
|
|
# 检查Release SHA1
|
|||
|
|
keytool -list -v -keystore keystore2 -storepass yuchen.com -alias yuchen | findstr /i "SHA1"
|
|||
|
|
```
|
|||
|
|
|