Подтвердить что ты не робот

Создание хеш-ключа для приложения с помощью facebook sdk

Я использую facebook sdk для входа в мое приложение. Приложение отлично работает на устройствах HTC. Приложение также отлично работает на устройствах Samsung, если ранее не было установлено приложение facebook.

Но если на мобильном устройстве уже есть приложение facebook, а затем пользователь устанавливает мое приложение, пользователь никогда не войдет в систему. Из того, что я знаю, я думаю, что это может быть проблема с одним знаком, и я думаю, что это связано с созданием правильного хэш-ключа приложения и использованием хеш-ключа в приложении facebook, которое я использовал для входа в мобильное приложение.

Пожалуйста, расскажите мне, как создать хэш-ключ. Я запускаю ubuntu 10.4.

Когда я запускаю эту команду в терминале: -

keytool -exportcert -alias <your keystore alias name>.keystore -keystore ~/.android/<your keystore name>.keystore | openssl sha1 -binary | openssl base64

Я никогда не запрашивал пароль, хотя мне присваивается хэш-код.

4b9b3361

Ответ 1

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

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

Надеюсь, вы это получите. Я просто проверил его, и у меня появилось приглашение ввести пароль.

Ответ 2

Вы можете использовать этот блок кода для генерации хеш-ключа. Поместите этот блок кода в свой метод onCreate().

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

    } catch (NoSuchAlgorithmException e) {

    }

Ответ 3

Просто введите команду как: -

keytool -exportcert -alias androiddebugkey -keyst
ore debug.keystore

и введите пароль нажатия клавиш или андроида или введите

здесь вам нужно перейти в структуру каталогов до ".android", затем запустите этот commnad. В общем случае путь C:\Users\User-name\.android>

Ответ 4

Проверьте три части в вашей среде.

  • где "debug.keystore" ?

    найти / -name "debug.keystore"

    если вы не можете найти его, проверьте затмение или ADT.

  • что такое имя псевдонима?

    keytool -list -v -keystore "PATH_TO_DEBUG_KEYSTORE"

  • Проверьте, установлен ли openssl

    openssl

Если все готово, он должен запросить пароль

Ответ 5

Если он не запрашивает пароль, сначала откройте терминал и введите:

sudo apt install openjdk-8-jre-headless

И затем следуйте обычным способом, просто введите:

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

Для ввода пароля: android Вы все закончили.

Этот ответ предназначен только для целей отладки, для целей выпуска используйте ваш .jks файл для генерации хеш-ключа.

Ответ 6

C:\openssl\bin>keytool -exportcert -alias aliasName -keystore "C:\Users\s\.android\debu
g.keystore" | "C:\openssl\bin\openssl" sha1 -binary | "C:\openssl\bin\openssl" b
ase64
Enter keystore password:  android
GEYtOJobR4NzuxX4iOl/yR6sla4=