1- Androidを統合するためのキーハッシュを生成しようとしています。プロンプトで次のコマンドを実行する必要があることを理解しています(私はWindowsを使用しています):
keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64
しかし、RELEASE_KEY_ALIASおよびRELEASE_KEY_PATHの値はどこで取得できますか?私を助けてください、私はたくさん閲覧しましたが、どこでそれらを入手できるのかわかりません。
2- Stackoverflowの回答によると、ハッシュキーを取得する別の方法はダウンロード this で、私のAndroidデバイスで実行します。Eclipseにインポートするときに購入することです。修正するのが難しいとわかっている多くのエラーが表示されます。質問は これ でした。
アプリケーションをGoogle Playストアに公開するときは、Javaキーストアで署名する必要があります。まだ公開しておらず、キーストアがない場合は、詳細は Signing Your Application のドキュメントをご覧ください。
RELEASE_KEY_ALIAS
:各キーストアには複数のエイリアスを含めることができます。異なるエイリアスを使用して異なるアプリケーションに署名することも、同じエイリアスで複数のアプリに署名することもできます。たとえば、デフォルトのデバッグキーストアには、エイリアスandroiddebugkey
が1つだけあります。すでにキーストアがあり、使用するエイリアスがわからない場合は、keytool -list -v -keystore YOUR_KEYSTORE_FILE
コマンドを実行して、使用可能なすべてのエイリアスを確認します。
RELEASE_KEY_PATH
:これは、マシン上のキーストアへの単純なパスです。 C:\Users\somezombie\myproject\release.keystore
のようになります。
キーストアを作成したら、投稿したコマンドを実行してFacebookが必要とするハッシュを取得できます。 Facebookでは、デバッグビルドのデバッグキーストアを使用してこれを行う必要がある場合があることに注意してください。
別の方法:
1-=このコードをonCreate内に貼り付けます。
2-アプリを実行します。
- logcatを確認してください!ハッシュは赤い色で表示されます
パブリッククラスMainActivityはAppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Add code to print out the key hash
try {
PackageInfo info = getPackageManager().getPackageInfo(
getPackageName(), //Or replace to your package name directly, instead getPackageName() "com.your.app"
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.e("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (PackageManager.NameNotFoundException | NoSuchAlgorithmException e) {
}
}