Я вообще не понимаю этот процесс. Я был в состоянии перейти к папке, содержащей keytool в Java SDK. Хотя я продолжаю получать сообщение об ошибке, openssl не распознается как внутренняя или внешняя команда. Проблема в том, что даже если я смогу заставить это работать, что я буду делать и с чем потом?
182
Ответы:
Вот что вам нужно сделать -
Загрузите openSSl из Code Extract. создайте папку - OpenSSL в C: / и скопируйте извлеченный код здесь.
определить путь к файлу debug.keystore. Если вы не нашли, то выполните поиск в C: / и используйте путь в команде на следующем шаге.
определите путь к файлу keytool.exe и перейдите в командную строку этого каталога / dir и выполните эту команду в 1 строке
он попросит пароль, поставь андроид вот и все. ты получишь ключик
источник
android
.Для Linux и Mac
Открытый терминал:
Для отладки сборки
Вы найдете debug.keystore в папке «.android». Скопируйте его и вставьте на рабочий стол и выполните приведенную выше команду.
Для релиза Build
ПРИМЕЧАНИЕ. Убедитесь, что в обоих случаях запрашивается пароль. Если он не запрашивает пароль, это означает, что в команде что-то не так. Пароль для debug.keystore - « android », а для выпуска вы должны ввести пароль, который вы установили при создании хранилища ключей .
источник
keytool -exportcert -alias <aliasName> -keystore <keystoreFilePath>
Сначала беги один, чтобы увидеть, все ли в порядке. Кроме того, при передаче по каналу keytool находится в неинтерактивном режиме и показывает пароль в виде простого текста при вводе. Поэтому вам лучше написать небольшой скрипт, который запускает команды отдельно.Пожалуйста, попробуйте это:
источник
OpenSSL: вы должны установить его, если он не был предустановлен в вашей операционной системе (например, в Windows он не был предустановлен) . Как установить, зависит от вашей ОС (для Windows проверьте ссылку, предоставленную coder_For_Life22).
Самый простой способ, не тратя время на копирование, - это скопировать двоичный файл openssl.exe в ваш путь к keytool, если вы работаете в Windows. Если вы не хотите этого делать, вам нужно добавить его в
PATH
переменную окружения. Затем выполните команду, указанную в документе.Обратите внимание, что аргумент после
-keystore
указывает на ваше хранилище ключей отладки. Это местоположение также зависит от вашей операционной системы. Должен быть в одном из следующих мест:Если вы все сделали правильно, вам будет предложено ввести пароль. Это
android
для сертификата отладки. Если пароль правильный, консоль печатает хэш (несколько случайных символов и цифр).Возьмите это и скопируйте в
android key hash
поле в настройках вашего приложения на Facebook. Чтобы попасть туда, перейдите по адресу developers.facebook.com/apps , выберите свое приложение, перейдитеEdit settings
и прокрутите вниз. После этого подождите несколько минут, пока изменения не вступят в силу.источник
чтобы сгенерировать ваш хэш ключа на локальном компьютере, запустите утилиту keytool Java (которая должна находиться на пути к вашей консоли) в хранилище ключей отладки Android. Это по умолчанию в вашем домашнем каталоге .android). На OS X запустите:
В Windows используйте: -
Надеюсь, что это поможет вам
Ref - разработчик сайта facebook
источник
Вы можете просто использовать однострочный JavaScript в консоли браузера, чтобы преобразовать шестнадцатеричный ключ карты в base64. Откройте консоль в последнем браузере (F12 в Windows), вставьте код и замените
SHA-1
,SHA-256
шестигранную карту, Google Play обеспечивает приRelease Managment
>App signing
:источник
Вот полная информация (для Windows)
1. Загрузите OpenSSL 3-го или 4-го (с e будет работать лучше) на основе вашей системы 32-битной или 64-битной.
2. Извлеките загруженный почтовый индекс в каталоге C
3. Откройте извлеченную папку до bin и скопируйте путь, он должен выглядеть примерно так
C:\openssl-0.9.8k_X64\bin\openssl
(добавить \ openssl в конце)4. (Получить путь к папке bin Jdk, если вы знаете, как игнорировать это).
Откройте файл Android Studio ~ файл ~ Структура проекта (Ctrl + Alt + Shift + S), выберите местоположение SDK на левой боковой панели, скопируйте местоположение JDK и добавьте / bin в него
Итак, окончательная локация JDK будет похожа
C:\Program Files\Android\Android Studio\jre\bin
мы следуем этому методу, чтобы получить местоположение JDK, потому что вы можете использовать встроенный JDK, как я
теперь у вас есть местоположение OpenSSl и местоположение JDK
5. теперь нам нужно местоположение хранилища ключей отладки, для этого откройте C ~> Users ~> YourUserName ~> .android, там должно быть имя файла debug.keystore, теперь скопируйте путь, это должно быть что-то вроде
C:\Users\Redman\.android\debug.keystore
6. Теперь откройте командную строку и введите команду
в моем случае
7. Теперь создайте следующую команду
в моем случае команда будет выглядеть так
Теперь введите эту команду в командной строке, если вы все сделали правильно, вам будет предложено ввести пароль (пароль Android)
вот вам, вам будет дан ключ хэш, просто скопируйте его и используйте его
Для подписанного KeyHash построить следующую команду
введите пароль хранилища ключей. Если вы введете неправильный пароль, он выдаст неверный ключ
НОТА
Если по какой-то причине, если она дает ошибку по какому-то пути, оберните этот путь в двойные кавычки. Кроме того, оболочка питания Windows не работала хорошо для меня, я использовал git bash (или использовал командную строку).
пример
источник
Есть и короткое решение. Просто запустите это в вашем приложении:
Более длинный, который не нуждается в FB SDK (на основе решения здесь ):
Результат должен заканчиваться на "=".
источник
-AAAAAAAA_AAAAAA-AAAAAAAAAA
это не разрешено Facebook, printHashKey вернул ключ в допустимом формате+AAAAAAAA/AAAAAA+AAAAAAAAAA=
Для Windows:
Введите пароль: Android -> Нажмите Enter
Скопируйте сгенерированный хэш-ключ -> войдите в Facebook с учетной записью разработчика
Зайдите в приложение Facebook -> Настройки -> Вставить ключ хеша в опцию «ключевые хеши» -> сохранить изменения.
Теперь протестируйте свое приложение для Android с помощью Facebook, войдите / поделитесь и т. Д.
источник
Начиная с API 26, вы можете генерировать ваши HASH KEYS, используя следующий код в KOTLIN, без необходимости использования Facebook SDK.
источник
class MainActivity: FlutterActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) GeneratedPluginRegistrant.registerWith(this) } }
Вот так я и получил свой:
Поэтому, когда вы пытаетесь войти без ключа, произойдет исключение. Facebook вставил ПРАВИЛЬНЫЙ ключ в это исключение. Все, что вам нужно сделать, это скопировать его.
источник
Если вы уже загрузили приложение в Play store, вы можете сгенерировать Hash Key следующим образом:
1) Перейти к Release Management здесь
2) Выберите Управление релизами -> Подписание приложения
3) Вы можете увидеть ключ SHA1 в шестнадцатеричном формате сертификата подписи приложения.
4) Скопируйте SHA1 в шестнадцатеричном формате и конвертируйте его в формат base64, вы можете использовать это ссылку, чтобы сделать это без SHA1: часть шестнадцатеричного числа.
5) Зайдите в консоль разработчика Facebook и добавьте ключ (после конвертации в base 64) в настройках -> basic -> key hashes.
источник
Для легкой учебной ссылки vedio для генерации KeyHash Здесь
Скачать openssl ЗДЕСЬ
источник
Скачать open ssl :
Затем добавьте openssl \ bin в системные переменные пути:
Мой компьютер -> Свойства -> Расширенные настройки -> Дополнительно -> Системные переменные -> в разделе системных переменных найдите путь и добавьте его в его окончания:; yourFullOpenSSLDir \ bin
Теперь откройте командную строку в папке jdk \ bin C: \ Program Files \ Java \ jdk1.8.0_40 \ bin (в Windows удерживайте shift и щелкните правой кнопкой мыши -> открыть командную строку здесь) и используйте:
И скопируйте число длиной 28, которое оно генерирует после ввода пароля.
источник
Запустите либо это в вашем приложении:
Или это:
А потом посмотрите на логи.
Результат должен заканчиваться на "=".
Решение основано здесь и здесь .
источник
EASY WAY -> Не устанавливайте openssl -> ИСПОЛЬЗУЙТЕ GIT BASH!
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
Пароль по умолчанию "Android"
У большинства из нас установлен Git Bash, так что это мой любимый способ.
источник
это также поможет новичкам.
просто добавив больше деталей к ответу @ coder_For_Life22.
Если этот ответ поможет, не забудьте поднять голос. это мотивирует нас.
для этого вы уже должны знать путь к файлу хранилища ключей приложения и пароль
для этого примера. Обратите внимание, что ключ хранится в «c: \ keystorekey \ new.jks».
1. Откройте эту страницу https://code.google.com/archive. / p / openssl-for-windows / downloads
2. загрузить 32- или 64-битный zip-файл в соответствии с вашей операционной системой Windows.
3. распакуйте скачанный файл куда угодно и запомните путь.
4. для этого примера мы считаем, что вы извлекли папку в папке загрузки. 5. Теперь на клавиатуре нажмите кнопку Windows + R. 6. это откроет окно запуска.
поэтому адрес файла будет «C: \ Users \ 0 \ Downloads \ openssl-0.9.8e_X64 \ bin \ openssl.exe»;
7. введите cmd и нажмите Ctrl + Shift + Enter .
8. Откроется командная строка с правами администратора.
9. здесь перейдите в папку bin Java:
если вы используете jre, предоставляемый Android Studio, вы найдете путь следующим образом:
a. открытая андроид студия.
б. файл-> структура проекта
c. на левой панели нажмите «Расположение SDK»
d. на правой панели ниже 'JDK location' находится ваш JRE-путь.
е. добавьте «\ bin» в конце этого пути, так как файл «keytool.exe», который нам нужен, находится внутри этой папки.
для этого примера я считаю,
«C: \ Program Files \ Java \ jre-10.0.2 \ bin»,
если вы установили 32 -разрядную версию Java, она будет находиться в
«C: \ Program Files (x86) \ Java \ jre-10.0.2 \ bin»
10. Теперь с указанными выше путями выполните команду следующим образом:
!!!!!! это даст вам ключ
ошибки: если вы получаете:
---
'keytool' не распознается как внутренняя или внешняя команда
---
это означает, что java установлен где-то еще.
источник
шаг 1-> C: \ Program Files \ Java \ jdk1.6.0_43 \ bin>
Шаг 2-> keytool -list -v -keystore C: \ Users \ leon \ .android \ debug.keystore -alias androiddebugkey -storepass android -keypass android
Вы получили значение SHA1, кликните по этой ссылке, чтобы преобразовать значение SHA1 в HASH KEY.
я на 100% уверен, что эта ссылка поможет вам
источник
Простой способ
Используя этот веб-сайт, вы можете получить ключ Hash путем преобразования ключа SHA1 в ключ Hash для Facebook.
источник
Вы можете получить все ваши отпечатки пальцев с https://console.developers.google.com/projectselector/apis/credentials
и использовать этот код Kotlin, чтобы преобразовать его в keyhash:
источник
https://developers.facebook.com/docs/android/getting-started/
4.19.0 - 25 января 2017 г.
Facebook SDK
модифицированный
Facebook SDK теперь автоматически инициализируется при запуске приложения. В большинстве случаев ручной вызов FacebookSDK.sdkInitialize () больше не требуется. Смотрите руководство по обновлению для более подробной информации.
Для отладки
источник
Просто запустите этот код в вашем OnCreateView или OnStart Actvity, и эта функция вернет вам хэш ключа разработки .
источник
У меня была точно такая же проблема, меня не спрашивали пароль, и, похоже, у меня неправильный путь к файлу хранилища ключей.
На самом деле, если keytool не найдет установленное вами хранилище ключей, оно создаст его и выдаст неверный ключ, поскольку он не использует правильный.
Общее правило заключается в том, что если вас не просят ввести пароль, то генерируется неправильный ключ.
источник
Вы можете использовать этот APK
источник
Попробуйте этот ответ
https://stackoverflow.com/a/54513168/9236994
с минимальными усилиями помогает решить проблему.
источник
keytool -exportcert -alias androiddebugkey -keystore "C: \ Users ** Deepak **. android \ debug.keystore" | " C: \ Users \ Deepak \ ssl \ bin \ openssl" sha1 -binary | « C: \ Users \ Deepak \ ssl \ bin \ openssl» base64
2 Изменения в приведенной выше команде 1.Deepak === Заменить вашей системой. USERNAME 2.C: \ Users \ Deepak \ ssl === заменить ваш путь Open SSL
запустить эту команду и получить вывод, как это
C: \ Users \ Deepak> keytool -exportcert -alias androiddebugkey -keystore "C: \ Users \ D eepak.android \ debug.keystore" | "C: \ Users \ Deepak \ ssl \ bin \ openssl" sha1 -binary | "C: \ Users \ Deepak \ ssl \ bin \ openssl" base64 Введите пароль хранилища ключей: ****** ga0RGNY ****************** =
источник
если у кого-то есть проблемы с openssl, следуйте этим инструкциям:
это оно
https://sourceforge.net/projects/openssl/files/latest/download
источник