2017-06-28 12 views
1

私は新しいGoogle Play App Signingを使用してアプリケーションに署名していますが、不一致のKey-Hashがあります。Google Playのアプリ署名 - KeyHashの不一致

私は自分のアプリにFacebookのログイン情報を統合しており、keyhashが無効だと言っています。 APKのキーハッシュのリリースは、Google Playのアプリ署名のプロセスで作成されたキーハッシュのリリースとは異なります。

編集:私がやったステップ:

1)JKSキーストアファイルを作成しました。

2)jksファイルで署名されたapkリリースが作成されました。

3)Google Play Appの署名付きサブスクリプションで、GoogleコンソールデベロッパーでAPKをインポートし、署名付きの鍵を変更しました。

4)一度オンライン、私はダウンロードして、アプリを開いて、Facebookの初期化は言う:無効なキーハッシュを

私は以下のコードを経由してアプリでハッシュキーをチェックすると、ハッシュキーは、無効なハッシュキーとの違いFacebookによって:

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

    } catch (NoSuchAlgorithmException e) { 

    } 

FacebookのダッシュボードにFacebookのハッシュキーを置いても、動作しません。 署名プロセス中にGoogle Play App Signingがハッシュキーを変更するようです。 あなたはそれを解決する考えがありますか?

+0

リリースキーストアファイルを使用して生成することができる、プロダクション用の別個のキーハッシュを使用する必要があります。:) – SripadRaj

+0

実際、.jksファイルを使用してアンドロイドスタジオでプロダクションのために私のアプリに署名します。 Google Play ConsoleでインポートするAPKのリリースが作成されます。私は逃したものを見ない。 –

+0

つまり、デバッグ証明書のapiキーを取得したのと同じように、リリースキーストアファイルを使用してfacebook apiキーを生成する必要があります。 – SripadRaj

答えて

5

私は同じ問題を抱えていました。あなたが言うように、Google Playストアは新しい鍵でapkを再署名します。これは、生成された鍵ハッシュとしてFacebookに提供する必要がありますkeytoolを使用して)。

この回答の後半はhttps://stackoverflow.com/a/44448437/2640599です。

keytoolとローカルキー(Googleにアップロードするためだけに使用されているようです)の代わりに、Googleが生成したSHA-1 App署名証明書に基づくハッシュを基本的にFacebookに提供する必要があります。

+0

ありがとう多くの人々を助けてください:) –

0

debug.keystore用に生成されたキーハッシュを使用している可能性があります。あなたがリリース証明書の

1.Generateキーハッシュを追跡する必要が

手順。

このコマンドを実行してこのコマンドを実行してください。 <*..*>のプレースホルダを適切な値に置き換えます。

keytool -exportcert -alias <*provide an alias here. I recommend to use the same alias that you use for google play app signing*> -keystore _<*your path to the jks certificate*> | openssl sha1 -binary | openssl base64 

このコマンドは、キーハッシュを生成します。

2.上記のコマンドで生成されたキーハッシュをコピーして、このようにFacebookアプリケーションコンソールに貼り付けます。

3.あなたのjksにapkを登録します。ダウンロードして携帯電話にインストールしてテストしてください。

これを試してみてください。ではごきげんよう。 :)

+0

はい私は自分のステップでこれを行いましたが、新しいGoogle Play App Signingを使用すると少し違って見えるでしょうhttps://developer.android.com/studio/publish/app-signing.html –

関連する問題