0
点赞
收藏
分享

微信扫一扫

Android 高德地图API INVALID_USER_SCODE 错误

少_游 2022-03-16 阅读 47


1、在Android studio 的 Terminal 中输入

keytool -genkey -v -keystore D:\keystore\tiandao.keystore -alias androiddebugkey -keyalg RSA -validity 1000


Android 高德地图API INVALID_USER_SCODE 错误_android



 2、继续在Terminal  输入:

keytool -v -list -keystore D:\keystore\tiandao.keystore



Android 高德地图API INVALID_USER_SCODE 错误_android_02


 3、使用android studio 创建jks 


Android 高德地图API INVALID_USER_SCODE 错误_androidd_03


Android 高德地图API INVALID_USER_SCODE 错误_android_04


Android 高德地图API INVALID_USER_SCODE 错误_android_05


key store password​ 和​key alias​  、​key password​ 第一步的一致。

等生成jks 成功之后,再操作第四步。

4、继续在 android studio 的 terminal 中输入:

keytool -v -list -keystore D:\keystore\tiandao.jks


Android 高德地图API INVALID_USER_SCODE 错误_androidd_06


将这步生成sha1 复制高德 设置Key 中的 sha1的地方。


Android 高德地图API INVALID_USER_SCODE 错误_androidd_07


最简单方法是:用代码获取sha1,代码如下:


//获取高德定位的sha1
private 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[i])
.toUpperCase(Locale.US);
if (appendString.length() == 1)
hexString.append("0");
hexString.append(appendString);
hexString.append(":");
}
String result = hexString.toString();
return result.substring(0, result.length()-1);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return null;
}





举报

相关推荐

0 条评论