Pracuję nad aplikacją na Androida, w której chcę zintegrować funkcję publikowania na Facebooku. Pobrałem pakiet Facebook-Android SDK i dostałem tam plik readme.md (plik tekstowy), w którym wspomniano o generowaniu skrótu klucza dla Androida. Jak to wygenerować?
229
Odpowiedzi:
Oto kroki
Pobierz openssl z kodu Google (jeśli masz maszynę 64-bitową, musisz pobrać openssl-0.9.8e X64 nie najnowszą wersję)
Wyodrębnij to. utwórz folder - OpenSSL w C: / i skopiuj tutaj wypakowany kod.
wykryj ścieżkę pliku debug.keystore. Jeśli nie znalazłeś, wykonaj wyszukiwanie w C: / i użyj ścieżki w poleceniu w następnym kroku.
wykryj ścieżkę keytool.exe i przejdź do wiersza poleceń dir / in i uruchom to polecenie w 1 wierszu
Aby uzyskać więcej informacji, odwiedź tutaj
źródło
$
.[EDIT 2020] -> Teraz całkowicie polecam odpowiedź tutaj , o wiele łatwiejsze w użyciu Android Studio, szybsze i nie ma potrzeby pisania kodu - ten poniżej był z powrotem za dni zaćmienia :) -.
Możesz użyć tego kodu w dowolnym działaniu. Będzie logował hashkey w logcat, który jest kluczem debugowania. Jest to łatwe i przynosi ulgę niż korzystanie z SSL.
Możesz usunąć kod po znajomości klucza;)
źródło
keytool
polecenia, otrzymywałem niewłaściwe skróty klawiszy (nie mam pojęcia, dlaczego, zdecydowałem, że nie dbam o to wystarczająco, by to zbadać). To działało i dosłownie zajęło 5 minut, aby uzyskać klucze do debugowania i zwalniania kluczy. +1Stworzyłem małe narzędzie dla systemu Windows i Mac OS X. Wystarczy wrzucić plik magazynu kluczy i uzyskać klucz skrótu.
Jeśli chcesz mieć domyślny plik debug.keystore, użyj domyślnego aliasu i hasła. W przeciwnym razie użyj własnego pliku kluczy i wartości.
Sprawdź to, pobierz wersję systemu Windows lub wersję Mac OS X (Dev-Host może czasami nie działać ... więc jeśli link jest zepsuty, wyślij mi wiadomość i naprawię go).
Mam nadzieję, że to wam pomoże ...
31 grudnia 2014 r. - EDYCJA: Zmiana gospodarza na AFH. Daj mi znać, jeśli linki są zepsute
21 listopada 2013 - EDYCJA:
Zgodnie z życzeniem użytkowników dodałem domyślną lokalizację magazynu kluczy i przycisk DONUJ. Czuć się swobodnie z niego korzystać jeśli pomogłem ci. :)
źródło
keytool
wiersza poleceń? Czy to nie powinno dawać identycznych wyników, jeśli zostanie zastosowane do tego samego pliku kluczy?Instrukcje zawarte w samouczku Androida na Facebooku nie działają dobrze w systemie Windows . Ich przykład pokazuje, jak potokować wyjście keytoola do openssl, ale jeśli spróbujesz tego w systemie Windows, wynik nie będzie prawidłowy z jakiegoś powodu. Odkryłem, że musiałem używać plików pośrednich, aby działał poprawnie. Oto kroki, które działały dla mnie:
Zacznij od pobrania openssl na Windows z Google.
Po uruchomieniu tych poleceń poprawny skrót jest zapisywany w pliku base64.txt. Skopiuj i wklej to do ustawień swojej aplikacji na Facebooku.
źródło
Oto, co podano na oficjalnej stronie Facebooka :
Pozwól mi rozbić to polecenie na fragmenty.
Szukać
"keytool.exe"
. Możesz to przeszukać na dysku C:. Możesz go znaleźć w"java jdk"
lub"java jre"
. Jeśli zainstalowałeś wiele wersji, wybierz dowolną.Otwórz wiersz CMD i przejdź do powyższego katalogu, w którym znalazłeś
"keytool.exe"
.Przytnij „exe” i wklej powyższe polecenie podane na stronie na Facebooku.
Po wprowadzeniu tej informacji pojawi się błąd, że OpenSSL nie jest rozpoznawany jako polecenie polecenia wyjściowego. Rozwiązanie: Pobierz „openssl” z OpenSSL (jeśli masz komputer 64-bitowy, musisz pobrać openssl-0.9.8e X64 ). Wyodrębnij i zapisz w dowolnym miejscu ... Zapisałem go na dysku C: w
OpenSSl
folderzeZamień openssl w powyższym poleceniu, w którym pojawiał się błąd OpenSSL, na „C: \ OpenSSL \ bin \ openssl” w obu miejscach po potoku „|”.
Jeśli pojawi się monit o hasło, wprowadź
android
.I dostaniesz swój klucz skrótu. Dalsze kroki można znaleźć ponownie na stronie na Facebooku.
źródło
Dodaj ten kod do
onCreate
swojej aktywności, wydrukuje skrót pod tagiem KeyHash w logCatMożesz dodać wiele skrótów do swojego konta, więc jeśli działasz w debugowaniu , nie zapomnij uruchomić go ponownie w trybie wydania .
źródło
Aby uzyskać kod skrótu klucza Androida, wykonaj następujące kroki:
cd C:\Program Files\Java\jdk1.6.0_26\bin
keytool -export -alias myAlias -keystore C:\Users\
swoją nazwę użytkownika\.android\myKeyStore | C:\openssl-0.9.8k_WIN32\bin\openssl sha1 -binary | C:\openssl-0.9.8k_WIN32\bin\openssl enc -a -e
źródło
myKeyStore
podaj ścieżkę swojego klucza zwolnienia. Powyższy kod dotyczy klucza debugowaniaNajprostsze rozwiązanie, jakie znalazłem, to:
Poszukaj wiersza w dzienniku, który wygląda następująco:
Skopiuj „abcdefgHIJKLMN + OPqrstuvwzyz” i wklej go w obszarze Facebook Key Hash.
źródło
KeyHash: XWwXXXXX/5xxxxxxxxxxx=
w dzienniku i pomógł mi!Klucz skrótu można uzyskać od klucza SHA-1. To bardzo proste, musisz zdobyć klucz SHA-1 (podpisany APK) ze Sklepu Play, sprawdź poniższy obrazek.
Teraz skopiuj ten klucz SHA-1 i wklej go na tej stronie http://tomeko.net również sprawdź poniższy obrazek, aby uzyskać skrót klucza.
źródło
Zrobiłem w ten sposób dla systemu operacyjnego Linux i Windows :
Linux:
keytool -exportcert -alias **myaliasname** -keystore **/home/comp-1/Desktop/mykeystore.jks** | openssl sha1 -binary | openssl base64
Prosimy o zmianę nazwy aliasu i magazynu kluczy z jego ścieżką jako wymaganiem.
Terminal poprosi o hasło do magazynu kluczy. Musisz podać hasło do tego samego magazynu kluczy .
Więc w końcu dostaniesz Hashkey wydania .
Windows:
Kroki do wydania Hashkey :
keytool -exportcert -alias **myaliasname** -keystore **"C:\Users\hiren.patel\Desktop\mykeystore.jks"** | "C:\openssl-0.9.8e_X64\bin\openssl.exe" sha1 -binary | "C:\openssl-0.9.8e_X64\bin\openssl.exe" base64
Prosimy o zmianę nazwy aliasu i magazynu kluczy z jego ścieżką jako wymaganiem.
Uwaga:
Proszę podać swoje dane tam, gdzie zaznaczyłem między ** **.Terminal poprosi o hasło do magazynu kluczy. Musisz podać hasło do tego samego magazynu kluczy .
Więc w końcu dostaniesz Hashkey wydania .
Gotowe
źródło
pobierz openSSL dla Windows tutaj możesz znaleźć 64-bitowy i 32-bitowy tutaj
rozpakuj pobrany plik
źródło
android
daje 24-cyfrowy skrót, a pisaniea
daje 28-cyfrowy skrót. Nie mam pojęcia dlaczego!Musisz utworzyć magazyn kluczy przy pomocy keytool dla podpisanych aplikacji dla Androida, jak procedura opisana w witrynie Android, a następnie musisz zainstalować cygwin, a następnie musisz zainstalować openssl z kodu Google, a następnie po prostu wykonaj następujące polecenie, a otrzymasz skrót klucz dla Androida, a następnie włóż ten klucz skrótu do utworzonej aplikacji Facebook. A potem możesz uzyskać dostęp do aplikacji na Facebooku za pośrednictwem aplikacji na Androida do publikowania na ścianie („publ_stream”) może być przykładem.
$ keytool -exportcert -alias alias_name -keystore sample_keystore.keystore | openssl sha1 -binary | openssl base64
Musisz wykonać powyższe polecenie z cygwina.
źródło
Pobierz openSSL -> Zainstaluj -> zwykle instaluje się w C: \ OpenSSL
następnie otwórz cmd i wpisz
aby sprawdzić wersję jdk, przejdź do C: / program files / java / jdk_version
Poprosi Cię o hasło, które jest Androidem.
źródło
Po prostu otwórz główny plik czynności i utwórz poniżej funkcję wzmianki:
1.1 Uruchom aplikację, wygeneruje to klucz skrótu dla twojej aplikacji.
Teraz otwórz dziennik kota i wyszukaj za pomocą „KeyHash” i skopiuj klucz skrótu.
Po wygenerowaniu klucza skrótu możesz usunąć tę funkcję.
źródło
1) Utwórz klucz do podpisania aplikacji i zapamiętaj alias.
2) Zainstaluj OpenSSL.
3) Umieść folder bin OpenSSL na swojej ścieżce.
4) Wykonaj czynności wymienione w punkcie „Konfiguracja jednokrotnego logowania” na FB-Android-SDK stronie , i wygenerować klucz Hash. Upewnij się, że podałeś poprawny alias i nazwę pliku kluczy.
5) Utwórz aplikację na Facebok i na karcie Urządzenia mobilne wprowadź ten klucz skrótu.
źródło
Oficjalna dokumentacja w dniu stronie dewelopera Facebooka :
źródło
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
i wciąż otrzymuję skrót klucza nie pasuje do żadnego zapisanego skrótu kluczaTo działało dla mnie ...
Kroki:
źródło
Dla systemu Linux
Otwarty terminal:
Do kompilacji debugowania
znajdziesz debug.keystore z folderu „.android” skopiuj go i wklej na pulpicie i uruchom powyżej polecenia
Do wydania Kompilacja
UWAGA: Upewnij się, że w obu przypadkach musi poprosić o hasło. Jeśli nie prosi o hasło, oznacza to, że coś jest nie tak z poleceniem.
źródło
Dla aplikacji na Androida
Ten kod służy do uzyskania klucza skrótu w aplikacji na Androida w celu integracji z Facebookiem. Przetestowałem wszystkie urządzenia i działa. Zmień tylko nazwę pakietu tego kodu:
źródło
W odpowiedzi na podobny problem stwierdziłem, że to działa dla mnie:
apkname.apk
plik, dla którego chcesz znać skrót, do folderu „ Java \ jdk1.7.0_79 \ bin ”keytool -list -printcert -jarfile apkname.apk
SHA1
wartość i przekonwertuj ją za pomocą tej witrynyźródło
Najprostsze rozwiązanie:
źródło
Aby wygenerować skrót klucza wydania, uruchom następujące polecenie w systemie Mac lub Windows, zastępując alias klucza wydania i ścieżkę do magazynu kluczy.
W systemie Windows użyj:
To polecenie powinno wygenerować 28 znaków charachera. Pamiętaj, że KOPIUJ i WKLEJ ten klucza dostępu do ustawień Androida swojego identyfikatora aplikacji Facebook.
obraz: fbcdn-dragon-a.akamaihd.net/hphotos-ak-xpa1/t39.2178-6/851568_627654437290708_1803108402_n.png
Patrz: https://developers.facebook.com/docs/android/getting-started#release-key-hash i http://note.taable.com
źródło
Użyj tego do drukowania skrótu klucza w Kotlin
źródło
Rozwiązałem również moją w Android Studio, ale z nieco innym podejściem.
Aby uzyskać wartość SHA-1 w Android Studio.
Wartość SHA-1 wygląda następująco: CD: A1: EA: A3: 5C: 5C: 68: FB: FA: 0A: 6B: E5: 5A: 72: 64: DD: 26: 8D: 44: 84
i otwórz http://tomeko.net/online_tools/hex_to_base64.php, aby przekonwertować wartość SHA1 na base64. To właśnie Facebook wymaga, aby uzyskać wygenerowany skrót „******************** =” i skopiować skrót skrótu do konsoli aplikacji Facebook.
Część tej odpowiedzi pochodzi stąd Link Github
źródło
Dostępne są dwie metody: skomplikowana i prosta
Metoda pierwsza: (mały kompleks)
po pierwsze musisz pobrać ssl
64bit
lub32bit
odpowiednio, pamiętaj, aby pobrać plik o nazwie zawierająceje
kod wersji po otwarciu openssl-0.9.8e_X64.zip LUB openssl-0.9.8e_WIN32.zip nie za pomocąk
po kodzie wersji,i umieść w katalogu AndroidStudio / jre / bin, jeśli nie wiesz, gdzie umieścić, możesz znaleźć ten katalog, klikając prawym przyciskiem myszy skrót do studia Android jako:
teraz poradziłeś sobie z dwoma wymaganymi rzeczami w jednym miejscu, ale wciąż musisz znaleźć dla siebie ścieżkę
debug.keystore
, którą zawsze można znaleźć w"C:\Users\yourusernamehere\.android\debug.keystore"
,Gdy wszystko jest skonfigurowane, pozwól ułożyć polecenie, które chcesz wykonać dla generowania klucza skrótu
base64 format
, a twoje polecenie będzie wyglądać takpodpowie Ci, aby wprowadzić hasło do debug.keystore, który jest domyślnie Androidem. jeśli używasz własnego klucza, hasło będzie również twoje. wynik będzie wyglądał tak, jeśli wszystko pójdzie zgodnie z oczekiwaniami, mam nadzieję, że może to pomóc
Druga metoda (względnie łatwa)
jeśli nie chcesz przejść przez całą powyższą procedurę, po prostu użyj następującej metody, aby zarejestrować haskey:
wynik:
źródło
Najlepszym rozwiązaniem jest użycie następującego kodu:
Ale byłem tak frustrujący faktem, że nie ma prostego narzędzia do generowania HashKey dla aplikacji Facebook. Za każdym razem musiałem grać z openssl i Keytool lub użyć kodu, aby uzyskać skrót z podpisu ...
Więc napisałem prosty KeyGenTool, który zrobi to za Ciebie: -> KeyGenTool w Google Play <-
Cieszyć się :)
źródło
Zrobiłem mały błąd, o którym należy pamiętać. Jeśli używasz magazynu kluczy, podaj swój alias, a nie androiddebugkey ...
Rozwiązałem mój problem. Teraz, jeśli w moim urządzeniu jest zainstalowany Facebook, nadal moja aplikacja otrzymuje dane na temat integracji logowania do Facebooka. Dbaj tylko o swój klucz skrótu.
Patrz poniżej.
Następnie naciśnij Enter- poprosi o hasło, a następnie wprowadź hasło do magazynu kluczy, a nie Androida.
Chłodny.
źródło
źródło
Kod Kotlin, aby uzyskać klucz skrótu
Nie zapomnij wygenerować kluczy w środowisku debugowania i wydawania, ponieważ zmieniają się one zgodnie z ustawieniem kompilacji.
źródło
Spróbuj tego :
1) Uzyskaj klucz skrótu za pomocą wiersza polecenia (oficjalny dokument: https://developers.facebook.com/docs/android/getting-started )
LUB
2) Uzyskaj klucz skrótu za pomocą kodu
źródło