我开发了一个Android应用程序,它使用Google Maps API作为我的毕业项目。
我必须在Google Play上发布,所以我尝试创建一个已签名的APK。我是通过Android Studio生成签名的apk工具来做到这一点的。这是创造钥匙的关键。但是,当我使用签名的apk时,地图不起作用。所以,我在互联网上搜索,发现我必须用SHA1指纹更改我的API密钥。但是当我试图从命令行拿它时,
keytool -list -v -keystore C:\Users\esrau\Desktop\keygrad\keygrad6 -alias EmuGrad -storepass urla259/ -keypass urla259/
我接受了这个错误:
我已经尝试过互联网上的所有解决方案,所以我尝试了gradle> android> signingReport中的SHA1密钥。它给出了同样的错误。
我还尝试从发布>值> google_maps_api.xml创建新的API密钥
它再次出现同样的错误。这些解决方案都不适合我。
因此,任何建议都将被接受。谢谢你们。
答案 0 :(得分:0)
昨天我遇到了同样的问题,并使用java生成了它。请务必输入您的包裹名称。
public static void showHashKey(Context context) {
try {
PackageInfo info = context.getPackageManager().getPackageInfo(
"com.example.yourpackagename", PackageManager.GET_SIGNATURES); //Your package name here
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.i("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
}