无法使用Release Apk使用Google和Facebook登录

时间:2018-01-11 13:46:17

标签: java android android-facebook

我正在使用Android应用程序,其中包含使用google登录并使用Facebook登录,在调试模式下工作正常但在发布Apk并将其上传到Play商店后,Facebook和Google都无法正常工作。 我做了以下步骤: 1-i为发布Apk生成我的新证书指纹,并替换Facebook开发人员的旧证书指纹,并使用新的证书指纹制作新的Google App,但这对我不起作用。 这是Facebook登录部分

 //facebook part
    callbackManager = CallbackManager.Factory.create();
    loginButton= (LoginButton)findViewById(R.id.login_button);
    loginButton.setReadPermissions(Arrays.asList("email", "user_photos", "public_profile"));
    loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
            Bundle parameters = new Bundle();
            parameters.putString("fields", "id, first_name, last_name, email,gender, birthday, location"); // Parámetros que pedimos a facebook
            //  Toast.makeText(getApplicationContext(),""+loginResult.getAccessToken(),Toast.LENGTH_SHORT).show();
            final String accessToken = loginResult.getAccessToken().getToken();
            GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
                @Override
                public void onCompleted(JSONObject object, GraphResponse response) {
                    Log.i("LoginActivity", response.toString());
                    // Get facebook data from login
                    try {
                        String FaceEmail= (String)object.get("email");
                        object.get("gender");
                        if(accessToken!=null)
                        {
                            if(isNetworkAvailable()) {
                                checkEmail(accessToken, "f");
                            }

                        }
                        else
                        {
                            Toast.makeText(MainActivity.this,"Please try another method to login ",Toast.LENGTH_SHORT).show();
                        }

                    } catch (JSONException e) {
                        e.printStackTrace();
                    }

但我总是遇到异常&#34;无效的哈希键&#34;

,这是Google登录部分

public void signIn ()
{   Intent intent =Auth.GoogleSignInApi.getSignInIntent(googleApiClient);}
  public void handleResult (GoogleSignInResult result)
{
    if (result.isSuccess()) {
        GoogleSignInAccount account = result.getSignInAccount();
        String email = account.getEmail();
        if(email!=null) {
            upateUI(true,email);
        }
        else
        {
            upateUI(false,"");
        }
    }
    else
        upateUI(false,"");

}

请注意我制作了我的Google应用,并从不同的帐户上传了我的签名Apk。这有什么问题吗? 那我该怎么办?

2 个答案:

答案 0 :(得分:0)

[解决] 我进入游戏机,发现两个证书指纹 第一个使谷歌与发布Apk合作的人 第二个是我的密钥库的证书指纹

答案 1 :(得分:0)

这对我有用:我进入游戏机,发现了两个证书指纹,第一个使Google使用Apk版本工作,第二个是我的密钥库的证书指纹