百度地图调用 keytool 错误:java.lang.Exception: 密钥库文件不存在、getLocType 167(4.9E-324)错误

百度地图调用常见错误及解决办法


使用as学习百度地图调用中,我遇到了keytool 错误:java.lang.Exception: 密钥库文件不存在、getLocType 167错误、getAddress 为null 、定位成功(经纬度获取正确)地图却没有显示正确的地址等问题,下面介绍本人的解决办法。最后附有源码地址

1. keytool 错误:java.lang.Exception: 密钥库文件不存在

使用百度地图官方说明 :keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey (注意目录选择、开发版本、发布版本等问题)

出现了:
在这里插入图片描述
keytool 错误:java.lang.Exception: 密钥库文件不存在,显然是当前路劲下没有debug.keystore ,这里是因为此处写的路劲的为相对路劲~/.android/debug.keystore。解决办法有两个,第一,到官方说明指定的目录下执行此命令。第二,使用绝对路劲。

在这里说明一下第二种方式:
a. 首先电脑中找到debug.keystore文件(这里使用到了搜索工具Everything,同学推荐的挺好用,没有的话直接使用windows自带的搜索工具(速度可能会比较慢))

在这里插入图片描述

b. 复制路径后,回到Terminal中使用
keytool -list -v -keystore E:\Android\Sdk\AndroidAVD.android/debug.keystore -alias androidd

### 解决方案 当遇到 `keytool` 操作时出现的 `java.lang.Exception` 错误,提示密钥库文件存在或为空时,可以参考以下方法解决: #### 问题分析 错误的核心原因通常是密钥库文件(如 `.jks` 或 `.keystore`)未正确生成或路径配置错误。以下是两种常见情况及解决方案: 1. 密钥库文件存在:这是由于指定路径下没有找到目标文件[^1]。 2. 密钥库文件存在但为空:这表明虽然文件已创建,但尚未包含任何密钥对信息[^2]。 #### 解决步骤 #### 方法一:使用绝对路径 如果密钥库文件路径是相对路径(例如 `~/.android/debug.keystore`),可能会导致路径解析失败。建议改为绝对路径,例如 `/Users/username/.android/debug.keystore` 或 `C:\Users\username\.android\debug.keystore`。通过以下命令重新生成密钥库文件: ```bash keytool -genkey -v -keystore /absolute/path/to/your/debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000 ``` 上述命令将生成一个有效的密钥库文件,并设置默认密码为 `android`[^1]。 #### 方法二:检查并生成密钥库文件 如果密钥库文件确实存在,可以通过以下步骤生成: 1. 打开命令行工具(Windows 用户可通过“运行”输入 `cmd` 启动命令提示符)。 2. 输入以下命令生成密钥库文件: ```bash keytool -genkey -alias arsdk -keypass (密码) -keyalg RSA -keysize 2048 -validity 10000 -keystore /absolute/path/to/your/arsdk.jks -storepass (密码) ``` 其中 `(密码)` 是你自己设定的密码,`/absolute/path/to/your/arsdk.jks` 是目标密钥库文件的绝对路径[^2]。 #### 方法三:验证密钥库文件内容 如果密钥库文件已经存在但为空,可以通过以下命令验证其内容: ```bash keytool -list -v -keystore /absolute/path/to/your/arsdk.jks -storepass (密码) ``` 如果提示密钥库为空,则需要重新生成密钥库文件[^3]。 #### 注意事项 - 确保 `keytool` 工具已正确安装并添加到系统环境变量中。 - 使用生成的密钥库文件时,请确保路径和密码与生成时一致。 - 如果是在 Android 开发环境中使用密钥库文件,请在生成后将其路径配置到项目的 `build.gradle` 文件中。 ### 示例代码 以下是一个完整的密钥生成示例: ```bash keytool -genkey -v -keystore /Users/username/.android/debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值