Android 如何让谷歌地图和facebook为apk发布服务

Android 如何让谷歌地图和facebook为apk发布服务,android,facebook-graph-api,android-studio,google-maps-api-3,sha1,Android,Facebook Graph Api,Android Studio,Google Maps Api 3,Sha1,我已经完成了Facebook登录和谷歌地图(包括谷歌地图位置选择器)的集成,它们的工作非常好 现在我必须发布版本,我已经在互联网上阅读了,但我没有得到地图,因为它显示空白页和拾取器消失时,它弹出,也是脸谱网给我密钥散列错误。p> 所以我把我的问题贴在这里,以便有人告诉我如何以程序化的方式一步一步地做事情,用一个简单的措辞,而不是官方文件中使用的,因为我太笨了,无法理解它们 我请求你,请帮助我制作我的应用程序的发布版本。在调试版本中,一切正常 请在facebook和谷歌地图的情况下帮助我 Face

我已经完成了Facebook登录和谷歌地图(包括谷歌地图位置选择器)的集成,它们的工作非常好

现在我必须发布版本,我已经在互联网上阅读了,但我没有得到地图,因为它显示空白页和拾取器消失时,它弹出,也是脸谱网给我密钥散列错误。p> 所以我把我的问题贴在这里,以便有人告诉我如何以程序化的方式一步一步地做事情,用一个简单的措辞,而不是官方文件中使用的,因为我太笨了,无法理解它们

我请求你,请帮助我制作我的应用程序的发布版本。在调试版本中,一切正常


请在facebook和谷歌地图的情况下帮助我

Facebook需要两种类型的散列键。一个是调试哈希键,另一个是释放哈希键

使用此方法打印哈希键

当您调试apk时,它会给出一个哈希键,但当您在设备中运行发布apk时。。它返回不同的散列键。在facebook开发者控制台添加这两个键

try {
        PackageInfo info = getPackageManager().getPackageInfo(
                "Your package name", 
                PackageManager.GET_SIGNATURES);
        for (Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            Log.d("Your Tag", Base64.encodeToString(md.digest(), Base64.DEFAULT));
            }
    } catch (NameNotFoundException e) {

    } catch (NoSuchAlgorithmException e) {

    }
以编程方式生成sha密钥的代码

PackageInfo info;
try {

    info = getPackageManager().getPackageInfo(
        "com.example.worldmission", PackageManager.GET_SIGNATURES);

    for (Signature signature : info.signatures) {
        MessageDigest md;
        md = MessageDigest.getInstance("SHA");
        md.update(signature.toByteArray());
        String something = new String(Base64.encode(md.digest(), 0));
        Log.e("Hash key", something);
        System.out.println("Hash key" + something);
    }

} catch (NameNotFoundException e1) {
    Log.e("name not found", e1.toString());
} catch (NoSuchAlgorithmException e) {
    Log.e("no such an algorithm", e.toString());
} catch (Exception e) {
    Log.e("exception", e.toString());
} 
你可以看看这些:

在那之后


所以你可以在阅读完这些文档后找到一种方法

如何从设备获取释放哈希键将设备连接到Android studio。从主屏幕按应用程序运行应用程序。它将在log cat中打印hashkey。但是这样,debud不是有密钥吗?我将如何获得发布hashkey?如果你从android studio运行你的应用程序。。然后它会给调试密钥,亲爱的。我告诉过你从你的设备上运行应用程序。从android Studio收集日志你能解释一下吗,我看过他们使用开放ssl方式获取发布密钥的视频?