Как создать Android-хэши Facebook Facebook?

Я вообще не понимаю этот процесс. Мне удалось перейти в папку, содержащую keytool в Java sdk. Хотя я продолжаю получать ошибку openssl не распознается как внутренняя или внешняя команда. Проблема даже в том, что я могу заставить это работать, что бы я сделал и с чем потом?

Любая помощь приветствуется.

Solutions Collecting From Web of "Как создать Android-хэши Facebook Facebook?"

Вот что вам нужно сделать –

Загрузите openSSl из кода Извлеките его. Создайте папку OpenSSL в C: / и скопируйте извлеченный код здесь.

Определить путь к файлу debug.keystore. Если u не нашел, выполните поиск в C: / и используйте Путь в команде на следующем шаге.

Определите путь keytool.exe и перейдите в командную строку dir / in и запустите эту команду в 1 строке,

$ keytool -exportcert -alias androiddebugkey -keystore "C:\Documents and Settings\Administrator.android\debug.keystore" | "C:\OpenSSL\bin\openssl" sha1 -binary |"C:\OpenSSL\bin\openssl" base64 

Он будет запрашивать пароль, поставить андроид, это все. U получит ключ-хэш

Для Linux

Открытый терминал:

Для сборки отладки

 keytool -exportcert -alias androiddebugkey -keystore debug.keystore | openssl sha1 -binary | openssl base64 

Вы найдете debug.keystore в папке «.android». Скопируйте его и вставьте на рабочий стол и выполните приведенную выше команду.

Для выпуска Build

 keytool -exportcert -alias <aliasName> -keystore <keystoreFilePath> | openssl sha1 -binary | openssl base64 

ПРИМЕЧАНИЕ. Убедитесь, что в обоих случаях он запрашивает пароль. Если он не запрашивает пароль, это означает, что в команде что-то не так. Пароль для debug.keystore« андроид », и для выпуска вам нужно ввести пароль, который вы установили во время создания хранилища ключей .

OpenSSL: вы должны установить это, если он не поставляется с предустановленной операционной системой (например, Windows не предустановлена) . Как установить это зависит от вашей ОС (для Windows проверьте ссылку, предоставленную coder_For_Life22).

Самый простой способ без возиться – это копирование бинарного файла openssl.exe на ваш путь keytool, если вы находитесь в Windows. Если вы не хотите этого делать, вы должны добавить его в PATH среды PATH . Затем выполните команду, предоставленную в документах.

 keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64 

Обратите внимание, что аргумент after -keystore указывает на ваше хранилище отладки. Это местоположение также зависит от вашей операционной системы. Должно быть в одном из следующих мест:

  • Windows Vista или 7 – C: \ Users \ .android \ debug.keystore
  • Windows XP – C: \ Documents and Settings \ .android \ debug.keystore
  • OS X и Linux – ~ / .android / debug.keystore

Если вы все сделали правильно, вам будет предложено ввести пароль. Это android для сертификата отладки. Если пароль правильный, консоль печатает хэш (несколько случайных символов и цифр).

Возьмите это и скопируйте его в поле android key hash в настройках вашего приложения на facebook. Чтобы попасть туда, зайдите в developers.facebook.com/apps , выберите свое приложение, перейдите в Edit settings и прокрутите вниз. После этого подождите несколько минут, пока изменения не вступят в силу.

Попробуйте следующее:

 public static void printHashKey(Context pContext) { try { PackageInfo info = getPackageInfo(pContext, PackageManager.GET_SIGNATURES); for (Signature signature : info.signatures) { MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); String hashKey = new String(Base64.encode(md.digest(), 0)); Log.i(TAG, "printHashKey() Hash Key: " + hashKey); } } catch (NoSuchAlgorithmException e) { Log.e(TAG, "printHashKey()", e); } catch (Exception e) { Log.e(TAG, "printHashKey()", e); } } 

Для генерации вашего хэша ключа на вашем локальном компьютере, запустите утилиту Java keytool (которая должна быть на пути вашей консоли) к хранилищу отладки Android отладки. Это по умолчанию в вашем домашнем каталоге .android). На OS X запустите:

 keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64 

В Windows используйте: –

 keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64 

Надеюсь, что это поможет вам

Ref – сайт разработчика facebook

Для Windows:

  1. Откройте командную строку и вставьте команду ниже

Keytool -exportcert -alias androiddebugkey -keystore% HOMEPATH% .android \ debug.keystore | Openssl sha1 -binary | Openssl base64

  1. Введите пароль: android -> Hit Enter

  2. Копировать сгенерированный хэш-ключ -> Войти в Facebook с учетной записью разработчика

  3. Перейдите в свое приложение Facebook -> Настройки -> Вставить хэш-ключ в опции «хэши-ключи» -> сохранить изменения.

  4. Теперь протестируйте свое приложение для Android с помощью Facebook для входа в систему / Share и т. Д.

Вот как я получил свое:

 private class SessionStatusCallback implements Session.StatusCallback { @Override public void call(Session session, SessionState state, Exception exception) { if (exception != null) { new AlertDialog.Builder(FriendActivity.this) .setTitle(R.string.login_failed_dialog_title) .setMessage(exception.getMessage()) .setPositiveButton(R.string.ok_button, null) .show(); } 

Поэтому, когда вы пытаетесь войти без ключа, произойдет исключение. Facebook помещает ключ RIGHT в это исключение. Все, что вам нужно сделать, это скопировать его.

Скачать open ssl :

Затем добавьте openssl \ bin в системные переменные пути:

Мой компьютер -> Свойства -> Расширенные конфигурации -> Дополнительно -> Системные переменные -> под системными переменными находят путь и добавляют это к его концам:; yourFullOpenSSLDir \ bin

Теперь откройте командную строку в папке jdk \ bin C: \ Program Files \ Java \ jdk1.8.0_40 \ bin (в Windows удерживайте shift и щелкните правой кнопкой мыши -> откройте командную строку здесь) и используйте:

 keytool -exportcert -alias keystorealias -keystore C:\yourkeystore\folder\keystore.jks | openssl sha1 -binary | openssl base64 

И скопируйте 28-значный номер, который он генерирует после предоставления пароля.

Для простой ссылки vedio tutorial для генерации KeyHash Here

Скачать openssl из ЗДЕСЬ

У меня была такая же точная проблема, меня не спрашивали пароль, и, похоже, у меня был неправильный путь к файлу хранилища ключей.

Фактически, если keytool не находит хранилище ключей, которое вы установили, оно создаст его и даст неверный ключ, поскольку он не использует правильный.

Общее правило заключается в том, что если вас не просят ввести пароль, тогда вы создаете не тот ключ.