Пытаясь создать приложение для Android с интеграцией с Facebook, я добрался до той части документации, где вам нужно сгенерировать ключевой хеш-файл, в нем указано, что нужно запустить следующий код
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore
| openssl sha1 -binary
| openssl base64
Когда я запускаю это в своем терминале, я получаю сообщение об ошибке подделки хранилища ключей или неправильный пароль,
Я просто хочу сгенерировать свой хеш-ключ
Может кто-то указать мне верное направление?
Ответы:
Удалите сертификат отладки в ~ / .android / debug.keystore (в Linux и Mac OS X); каталог выглядит примерно как% USERHOME% /. android в Windows.
Затем плагин Eclipse должен сгенерировать новый сертификат, когда вы в следующий раз попытаетесь создать отладочный пакет.
Дай мне знать, если это работает.
источник
Чтобы сгенерировать ключевой хеш, вам нужно выполнить несколько простых шагов.
1) Загрузите Openssl отсюда.
2) Сделайте папку openssl на диске C
3) Распакуйте Zip-файлы в эту папку openssl, созданную на диске C.
4) Скопируйте файл debug.keystore из папки .android в моем случае (C: \ Users \ SYSTEM.android) и вставьте в папку bin JDK в моем случае (C: \ Program Files \ Java \ jdk1.6.0_05 \ bin)
5) Откройте командную строку и укажите путь к папке JDK Bin в моем случае (C: \ Program Files \ Java \ jdk1.6.0_05 \ bin).
6) Скопируйте следующий код и нажмите Enter.
7) Теперь нужно ввести пароль , Password = android.
8) Если вы видите в папке openssl Bin, вы получите файл с именем debug.txt
9) Теперь вы можете либо перезапустить командную строку, либо работать с существующей командной строкой.
10) вернитесь на диск C и укажите путь к папке openssl Bin
11) скопируйте следующий код и вставьте
12) вы получите файл debug_sha.txt в папке bin openssl
13) Снова скопируйте следующий код и вставьте
14) вы получите debug_base64.txt в папке bin openssl
15) откройте файл debug_base64.txt Вот ваш хэш ключа.
источник
ОБНОВЛЕННЫЙ ОТВЕТ (создание с помощью кода) Более простой способ:
По моему опыту, openssl всегда был проблемным, я попробовал второй метод, предложенный facebook. И это прекрасно. Это лучший способ получить хеш-ключ.
Второй вариант - распечатать ключевой хэш, отправленный в Facebook, и использовать это значение. Внесите следующие изменения в метод onCreate () в своем основном действии:
Замените com.facebook.samples.loginhowto на свое собственное имя пакета (имя пакета в Manifest.xml).
Официальная ссылка - https://developers.facebook.com/docs/android/login-with-facebook/ (см. Внизу страницы)
СТАРЫЙ ОТВЕТ (создание Keyhash с использованием openssl)
openssl
папкуopenssl
папку наC:
дискеbin
изopenssl
т.е.C:\openssl\bin
в командной строкевыполните следующую команду, чтобы сгенерировать хэш-код ключа. При генерации хэш-ключа он должен запросить пароль.
keytool -exportcert -alias androiddebugkey -keystore "C: \ Users \ Anhsirk.android \ debug.keystore" | openssl sha1 -binary | openssl base64
ПРИМЕЧАНИЕ : в приведенном выше коде обратите внимание, что вам необходимо указать свой путь пользователю (т.е. в моем случае это C: \ Users \ Anhsirk, вам просто нужно изменить это для своей учетной записи.
, Если он не запрашивает пароль, ваш путь к хранилищу ключей неверен.
Если все работает нормально, он должен предоставить вам хэш-ключ, указанный ниже.
источник
Самый простой способ сгенерировать хеш-ключ.
Требование: ключ SHA1
Вы можете получить ключ SHA1 из файла хранилища ключей двумя способами.
1) Найдите файл хранилища ключей, откройте командную строку в этом месте, затем используйте указанную ниже команду
а затем введите свой пароль, тогда он вернет ключ md5, sha1 и sha256.
ИЛИ
2) При запуске signingReport
См. Изображение ниже.
после того, как вы запустите файл, ваш вывод будет сгенерирован, содержащий требуемый ключ sha1.
После получения необходимого ключа SHA1
Затем перейти
http://tomeko.net/online_tools/hex_to_base64.php
и вставьте свой ключ sha1
и, наконец, вы получите требуемый HashKey, который вы можете использовать для применения на facebook.
источник
Правильный ключ можно получить из самого приложения, добавив следующий код для тоста правильного хэша ключа (в случае Facebook SDK 3.0 и более поздних версий это работает)
Замените com.package.mypackage своим именем пакета
источник
I. Создание ключевого хэша отладки для facebook
Добавьте код для распечатки хэша ключа для facebook
II. Создать релиз ключевого хэша для facebook
Скачать openssl-0.9.8e_X64
Сделайте папку openssl на диске C
Распаковать Zip-файлы в папку openssl
Пуск -> Выполнить: cmd (нажмите ввод)
(нажмите) cd C: \ Program Files \ Java \ jdk1.6.0_45 \ bin. Примечание: C: \ Program Files \ Java \ jdk1.6.0_45 \ bin: путь к папке jdk на вашем компьютере
(нажмите) keytool -exportcert -alias gci -keystore D: \ folder \ keystorerelease | C: \ openssl \ bin \ openssl sha1 -binary | C: \ openssl \ bin \ openssl base64. Примечание: D: \ folder \ keystorerelease: путь к вашему хранилищу ключей.
Введите пароль хранилища ключей: это пароль, когда вы зарегистрируете хранилище ключей.
Тогда у вас будет ключевой хеш: jDehABCDIQEDWAYz5Ow4sjsxLSw =
Войти facebook. Доступ к управлению приложениями. Вставьте ключевой хеш в свое приложение на developers.facebook.com
источник
ПРОСТОЕ РЕШЕНИЕ ДАННОЙ ПРОБЛЕМЫ:
У меня эта проблема уже два месяца. Мои ключевые хэши накапливались до 9. Сегодня я наконец нашел простое решение:
ШАГ 1:
Установите facebook sdk, который вы загрузили со страницы разработчика facebook на свой телефон. Не устанавливайте обычное приложение facebook. Убедитесь, что вы можете войти в facebook. Затем выйдите из системы.
ШАГ 2:
Экспортируйте приложение с ключом окончательной версии в виде apk, как если бы вы загружали его в игровой магазин.
ШАГ 3:
Поместите файл Apk на свой телефон через USB-кабель или USB-накопитель.
ШАГ 4:
Установите приложение с помощью файлового менеджера: Пример
ШАГ 5:
Запустите приложение и попробуйте войти в систему через facebook. Откроется диалоговое окно с сообщением: «Ключ YOURHASHKEY не найден в консоли разработчика facebook».
ШАГ 6:
Запишите ключ.
ШАГ 7:
Поместите его в консоль разработчика facebook и сохраните. Теперь все готово. Любой, кто загружает ваше приложение, опубликованное с использованием ранее использованного хранилища ключей, может войти в facebook.
наслаждаться
источник
Если вы выпускаете, используйте хранилище ключей, которое вы использовали для экспорта приложения, а не debug.keystore.
источник
Пароль сертификата отладки - android, а не Android
источник
Наконец :)
Вот моя история:
Добавьте этот код в основное действие после настройки макета.
Измените PROJECTNAME на название вашего пакета!
источник
Однострочное решение для создания для facebook
источник
Чтобы сгенерировать хэш ключа выпуска, вам нужно выполнить несколько простых шагов.
1) Скачать Openssl
2) Сделайте папку openssl на диске C
3) Распакуйте Zip-файлы в эту папку openssl, созданную на диске C.
4) Скопируйте файл debug.keystore из папки .android в моем случае (C: \ Users \ SYSTEM.android) и вставьте в папку bin JDK в моем случае (C: \ Program Files \ Java \ jdk1.6.0_05 \ bin)
5) Откройте командную строку и укажите путь к папке JDK Bin в моем случае (C: \ Program Files \ Java \ jdk1.7.0_40 \ bin).
6) Скопируйте следующий код и нажмите Enter.
keytool -exportcert -alias abcd-keystore D: \ Projects \ MyAppFolder \ keystore.txt | C: \ openssl \ bin \ openssl sha1 - двоичный | C: \ openssl \ bin \ openssl base64 ex - keytool -exportcert -alias (введите здесь ваше имя псевдонима apk, как имя моего подписанного apk псевдонима abcd) -keystore "подписанное apk сгенерированное хранилище ключей apth введите здесь" | "введите сюда путь к папке bin openssl" sha1 - бинарный | "Путь к папке openssl bin введите сюда" base64
7) Теперь вам нужно ввести пароль, Пароль = (введите здесь свой пароль хранилища ключей подписи)
8) у вас есть хранилище ключей, которое используется для хэша ключа выпуска приложения
источник
Несмотря на то, что эта ветка устарела, я хотел бы поделиться своим опытом (недавно начал работать с facebook), который мне кажется прямым:
Чтобы получить ключ разработки для интеграции с facebook, используйте следующую команду из командной строки в Windows:
keytool -exportcert -alias androiddebugkey -keystore% HOMEPATH% .android \ debug.keystore | "C: \ openssl \ bin \ openssl.exe" sha1 -binary | "C: \ openssl \ bin \ openssl.exe" base64
Введите android в качестве пароля, как показано выше.
Это оно! Вам будет предоставлен ключ длиной 28 символов. Ура!
Используйте ту же процедуру, чтобы получить ключ Release. Просто замените команду следующей и используйте псевдоним ключа выпуска.
keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | "ПУТЬ ДЛЯ openssl.exe" sha1 -binary | openssl base64
источник
Создать хэш-ключ отладки
Создать хэш-ключ выпуска
источник
Отличный пост в блоге на эту тему
Извлечение хэша ключа из ключа .p12
Отличный и простой шестнадцатеричный редактор для Mac: HexFiend
OpenSSL должен быть предварительно установлен на Mac, и вот ссылка на версию для Windows.
Ссылка на сайт
источник
AppEntry
Попробуйте передать пароль для ключа и сохранить как часть команды
источник
Я смог выполнить запрошенную задачу с некоторыми решениями здесь, но подумал про себя, мальчик, это глупо ... почему бы не написать небольшой Java-код, который делает это, и упаковать его в Jar, что я и сделал. ..
Ссылка на скачивание фляги
Работает на Windows 8 ... с другими ОС не пробовал.
источник
Привет всем, моя история, как я подписываюсь, имеет ключ для Facebook
прежде всего, вам просто нужно скопировать эти 2 метода в свой первый класс
** Вызовите функцию getAppKeyHash () из вашего метода oncreate, если вы хотите подписанный хеш, затем сделайте подписанную сборку, установите подписанную сборку и запустите, вы получите хеш-ключ в диалоговом окне, затем просто отметьте его и обновите в учетной записи разработчика facebook и прокомментируйте эту функцию и сделайте еще одну подписанный APK **
источник
Если ваш пароль = android неправильный, тогда поставьте свой пароль компьютера, чтобы он работал у меня.
А для генерации keyHash попробуйте эту ссылку Здесь
источник
Единственное, что у меня работает, это использование пароля
android
. Почему это не упоминается ни в одном руководстве?источник
используйте это в kotlin для печати хэша ключа в журнале
источник