keytool错误:密钥库文件存在但为空

时间:2016-06-11 14:45:43

标签: android google-maps android-keystore

我开发了一个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/

我接受了这个错误:

error

我已经尝试过互联网上的所有解决方案,所以我尝试了gradle> android> signingReport中的SHA1密钥。它给出了同样的错误。

我还尝试从发布>值> google_maps_api.xml创建新的API密钥 google_maps_api

它再次出现同样的错误。这些解决方案都不适合我。

因此,任何建议都将被接受。谢谢你们。

1 个答案:

答案 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) {
        }
    }