Android 高德地图API INVALID_USER_SCODE 错误
1、在Android studio 的 Terminal 中输入
keytool -genkey -v -keystore D:\keystore\tiandao.keystore -alias androiddebugkey -keyalg RSA -validity 1000
2、继续在Terminal 输入:
keytool -v -list -keystore D:\keystore\tiandao.keystore
3、使用android studio 创建jks
key store password 和key alias 、key password 第一步的一致。
等生成jks 成功之后,再操作第四步。
4、继续在 android studio 的 terminal 中输入:
keytool -v -list -keystore D:\keystore\tiandao.jks
将这步生成sha1 复制高德 设置Key 中的 sha1的地方。
最简单方法是:用代码获取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; }