W ogóle nie rozumiem tego procesu. Udało mi się przejść do folderu zawierającego narzędzie w zestawie Java SDK. Chociaż ciągle pojawia się błąd, openssl nie jest rozpoznawany jako polecenie wewnętrzne lub zewnętrzne. Problem w tym, że nawet jeśli uda mi się to uruchomić, co bym zrobił i z czym potem?
181
Odpowiedzi:
Oto, co musisz zrobić -
Pobierz openSSl z kodu Wypakuj go. utwórz folder - OpenSSL w C: / i skopiuj tutaj wyodrębniony kod.
wykryj ścieżkę do pliku debug.keystore. Jeśli nie znalazłeś, przeprowadź wyszukiwanie w C: / i użyj ścieżki w poleceniu w następnym kroku.
wykryj ścieżkę keytool.exe i przejdź do wiersza polecenia dir / in i uruchom to polecenie w 1 wierszu
poprosi o hasło, wstaw Androida, to wszystko. dostaniesz skrót klucza
źródło
android
.Dla systemu Linux i Mac
Otwarty terminal:
Do kompilacji debugowania
Znajdziesz debug.keystore w folderze „.android”. Skopiuj go i wklej na pulpit i uruchom powyższe polecenie.
Do wydania Kompilacja
UWAGA: Upewnij się, że w obu przypadkach prosi o hasło. Jeśli nie prosi o hasło, oznacza to, że coś jest nie tak z poleceniem. Hasło do debug.keystore to „ android ”, a do wydania należy wprowadzić hasło ustawione podczas tworzenia magazynu kluczy .
źródło
keytool -exportcert -alias <aliasName> -keystore <keystoreFilePath>
Najpierw biegnij sam, aby sprawdzić, czy wszystko jest w porządku. Dodatkowo, po zakończeniu instalacji, keytool działa w trybie nieinteraktywnym i pokazuje hasło w postaci zwykłego tekstu po jego wprowadzeniu. Więc lepiej napisz mały skrypt, który uruchamia polecenia osobno.Spróbuj tego:
źródło
OpenSSL: Musisz go zainstalować, jeśli nie jest fabrycznie zainstalowany z systemem operacyjnym (np. Windows nie ma go wstępnie zainstalowanego) . Sposób instalacji zależy od systemu operacyjnego (w przypadku systemu Windows sprawdź łącze dostarczone przez coder_For_Life22).
Najłatwiejszym sposobem na obejście się jest kopiowanie pliku binarnego openssl.exe na ścieżkę do narzędzia w systemie Windows. Jeśli nie chcesz tego robić, musisz dodać go do
PATH
zmiennej środowiskowej. Następnie wykonaj polecenie podane w dokumentach.Zauważ, że argument po
-keystore
wskazuje na twój debugujący magazyn kluczy. Ta lokalizacja zależy również od systemu operacyjnego. Powinien znajdować się w jednej z następujących lokalizacji:Jeśli wszystko zrobiłeś dobrze, pojawi się monit o podanie hasła. To dotyczy
android
certyfikatu debugowania. Jeśli hasło jest prawidłowe, konsola drukuje skrót (nieco losowe znaki i liczby).Weź to i skopiuj do
android key hash
pola w preferencjach aplikacji na Facebooku. Aby się tam dostać, przejdź na stronę developers.facebook.com/apps , wybierz aplikację, przejdź doEdit settings
i przewiń w dół. Następnie poczekaj kilka minut, aż zmiany zaczną obowiązywać.źródło
aby wygenerować skrót klucza na komputerze lokalnym, uruchom narzędzie keytool Javy (które powinno znajdować się na ścieżce konsoli) w magazynie kluczy debugowania Androida. Jest to domyślnie w twoim domowym katalogu .android). W systemie OS X uruchom:
W systemie Windows użyj: -
mam nadzieję, że ci to pomoże
Ref - strona dewelopera na Facebooku
źródło
Oto pełne informacje (dla systemu Windows)
1. Pobierz OpenSSl na 3 lub 4 (e będzie działał lepiej) w oparciu o system 32-bitowy lub 64-bitowy.
2. Wypakuj pobrany plik zip do katalogu C.
3. Otwórz rozpakowany folder do bin i skopiuj ścieżkę, powinno to być coś takiego
C:\openssl-0.9.8k_X64\bin\openssl
(dodaj \ openssl na końcu)4. (Uzyskaj ścieżkę do folderu bin Jdk, jeśli wiesz, jak to zignorować).
Otwórz studio Android ~ plik ~ Struktura projektu (ctrl + alt + shift + s), wybierz lokalizację SDK w lewym panelu bocznym, skopiuj lokalizację JDK i dodaj / bin do niej
Ostateczna lokalizacja JDK będzie podobna
C:\Program Files\Android\Android Studio\jre\bin
stosujemy tę metodę, aby uzyskać lokalizację Jdk, ponieważ możesz używać osadzonego jdk takiego jak ja
teraz masz lokalizację OpenSSl i lokalizację JDK
5. teraz potrzebujemy lokalizacji magazynu kluczy debugowania, aby otworzyć C ~> Users ~> YourUserName ~> .android powinna istnieć nazwa pliku debug.keystore, teraz skopiuj lokalizację ścieżki, powinno to być coś w rodzaju
C:\Users\Redman\.android\debug.keystore
6. teraz otwórz wiersz polecenia i wpisz polecenie
w moim przypadku
7. teraz skonstruuj następujące polecenie
w moim przypadku polecenie będzie wyglądać
teraz wpisz to polecenie w wierszu polecenia, jeśli zrobiłeś coś dobrze, zostaniesz poproszony o hasło (hasło to android)
to znaczy, otrzymasz Kluczową Skrypt, po prostu skopiuj go i użyj
Dla podpisanego KeyHash zbuduj następujące polecenie
wprowadź hasło do magazynu kluczy, jeśli wpiszesz błędne hasło, otrzymasz nieprawidłowe KeyHash
UWAGA
Jeśli z jakiegoś powodu błąd podany w jakiejś ścieżce, to zawiń tę ścieżkę w podwójny cudzysłów. Również powłoka zasilania systemu Windows nie działała dla mnie dobrze, użyłem git bash (lub użyj wiersza polecenia).
przykład
źródło
Możesz po prostu użyć jednego wiersza javascript w konsoli przeglądarki, aby przekonwertować klucz mapy szesnastkowej na base64. Otwórz konsolę w najnowszej przeglądarce (F12 na windows) i wklej kod i wymień
SHA-1
,SHA-256
hex mapę, która gra Google udostępnia podRelease Managment
>App signing
:źródło
Jest też krótkie rozwiązanie. Po prostu uruchom to w swojej aplikacji:
Dłuższy, który nie potrzebuje FB SDK (na podstawie rozwiązania tutaj ):
Wynik powinien kończyć się „=”.
źródło
-AAAAAAAA_AAAAAA-AAAAAAAAAA
Facebook nie zezwala na to, printHashKey zwrócił klucz w prawidłowym formacie+AAAAAAAA/AAAAAA+AAAAAAAAAA=
Dla Windowsa:
Wpisz hasło: android -> Hit Enter
Skopiuj wygenerowany klucz skrótu -> Zaloguj się na Facebooku za pomocą konta programisty
Przejdź do aplikacji na Facebooku -> Ustawienia -> Wklej klawisz skrótu w opcji „skróty klawiszowe” -> zapisz zmiany.
Teraz przetestuj aplikację na Androida za pomocą Facebooka Zaloguj się / Udostępnij itp.
źródło
Od API 26 możesz generować KLAWISZE HASH przy użyciu następującego kodu w KOTLIN, bez potrzeby korzystania z SDK Facebooka.
źródło
class MainActivity: FlutterActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) GeneratedPluginRegistrant.registerWith(this) } }
W ten sposób otrzymałem mój:
Więc kiedy próbujesz wejść bez klucza, wystąpi wyjątek. Facebook umieścił PRAWY klucz w tym wyjątku. Wszystko, co musisz zrobić, to skopiować.
źródło
Jeśli aplikacja została już przesłana do sklepu Play, możesz wygenerować klucz skrótu w następujący sposób:
1) Przejdź do zarządzania wersjami tutaj
2) Wybierz Zarządzanie wersjami -> Podpisywanie aplikacji
3) Możesz zobaczyć klucz SHA1 w formacie szesnastkowym Certyfikat podpisywania aplikacji.
4) Skopiuj SHA1 w formacie heksadecymalnym i przekonwertuj go na format base64, możesz skorzystać z tego linku bez SHA1: części heksadecymalnej.
5) Przejdź do konsoli programisty Facebooka i dodaj klucz (po konwersji do bazy 64) w ustawieniach -> podstawowe -> skróty klawiszowe.
źródło
Aby uzyskać łatwy link do samouczka vedio do generowania KeyHash tutaj
Pobierz openssl TUTAJ
źródło
Pobierz otwarty ssl :
Następnie dodaj openssl \ bin do zmiennych systemowych ścieżki:
Mój komputer -> właściwości -> Zaawansowane konfiguracje -> Zaawansowane -> Zmienne systemowe -> w polu Zmienne systemowe znajdź ścieżkę i dodaj ją do jej zakończeń:; twoj_PullOpenSSLDir \ bin
Teraz otwórz wiersz polecenia w folderze jdk \ bin C: \ Program Files \ Java \ jdk1.8.0_40 \ bin (w systemie Windows przytrzymaj klawisz Shift i kliknij prawym przyciskiem myszy -> otwórz tutaj wiersz polecenia) i użyj:
I skopiuj wygenerowany numer 28 długości po podaniu hasła.
źródło
Uruchom albo w swojej aplikacji:
Albo to:
A potem spójrz na dzienniki.
Wynik powinien kończyć się „=”.
Rozwiązanie oparte jest tutaj i tutaj .
źródło
ŁATWY SPOSÓB -> Nie instaluj openssl -> UŻYJ GIT BASH!
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
Domyślne hasło to „android”
Większość z nas ma zainstalowaną Git Bash, więc to mój ulubiony sposób.
źródło
pomoże to również noworodkom.
po prostu dodając więcej szczegółów do odpowiedzi @ coder_For_Life22.
jeśli ta odpowiedź pomoże ci nie zapomnieć o głosowaniu. motywuje nas.
w tym celu musisz już znać ścieżkę do pliku kluczy aplikacji i hasła
do tego przykładu. Weź pod uwagę, że klucz jest przechowywany w „c: \ keystorekey \ new.jks”
1. otwórz tę stronę https://code.google.com/archive / p / openssl-for-windows / downloads
2. pobierz 32 lub 64-bitowy plik zip zgodnie z systemem operacyjnym Windows. 5. teraz na klawiaturze naciśnij Windows + przycisk r. 7. wpisz cmd i naciśnij Ctrl + Shift + Enter . 8. to otworzy wiersz polecenia jako administrator. 9. tutaj przejdź do folderu bin Java:
3. rozpakuj pobrany plik gdziekolwiek chcesz i zapamiętaj ścieżkę.
4. W tym przykładzie uważamy, że rozpakowałeś folder w folderze pobierania.
więc adres pliku to „C: \ Users \ 0 \ Downloads \ openssl-0.9.8e_X64 \ bin \ openssl.exe”;
6. otworzy się okno uruchamiania. jeśli używasz jre dostarczonego przez Android Studio, znajdziesz ścieżkę w następujący sposób: a. otwórz studio Androida. b. plik-> struktura projektu c. w lewym okienku kliknij „Lokalizacja SDK” d. w prawym okienku poniżej „lokalizacji JDK” znajduje się ścieżka do środowiska Jre. mi. dodaj „\ bin” na końcu tej ścieżki, ponieważ plik „keytool.exe”, którego potrzebujemy, znajduje się w tym folderze. dla tego przykładu uważam,
„C: \ Program Files \ Java \ jre-10.0.2 \ bin”,
jeśli zainstalowałeś 32 -bitową Javę , będzie to w
„C: \ Program Files (x86) \ Java \ jre-10.0.2 \ bin”
10. teraz z powyższymi ścieżkami wykonaj polecenie w następujący sposób:
!!!!!! to da ci klucz
błędy: jeśli otrzymasz:
---
„keytool” nie jest rozpoznawany jako polecenie wewnętrzne lub zewnętrzne
---
oznacza to, że Java jest zainstalowana gdzie indziej.
źródło
krok 1-> C: \ Program Files \ Java \ jdk1.6.0_43 \ bin>
Krok 2-> keytool -list -v -keystore C: \ Users \ leon \ .android \ debug.keystore -alias androiddebugkey -storepass android -keypass android
masz wartość SHA1 kliknij ten link u przekonwertuj wartość SHA1 na klucz skrótu
jestem w 100% pewien, że ten link pomoże ci
źródło
Łatwy sposób
Korzystając z tej witryny , możesz uzyskać klucz skrótu, przekształcając klucz SHA1 w klucz skrótu na Facebooku.
źródło
Możesz pobrać wszystkie swoje odciski palców z https://console.developers.google.com/projectselector/apis/credentials
I użyj tego kodu Kotlin, aby przekonwertować go na skrót:
źródło
https://developers.facebook.com/docs/android/getting-started/
4.19.0 - 25 stycznia 2017 r
Facebook SDK
Zmodyfikowano
Zestaw SDK Facebooka jest teraz automatycznie inicjowany po uruchomieniu aplikacji. W większości przypadków ręczne wywołanie FacebookSDK.sdkInitialize () nie jest już potrzebne. Zobacz uaktualnienia przewodnik po więcej szczegółów.
Do debugowania
źródło
Po prostu uruchom ten kod w OnCreateView lub OnStart Actvity, a ta funkcja zwróci Ci skrót klucza programistycznego .
źródło
Miałem dokładnie ten sam problem, nie zostałem poproszony o hasło i wygląda na to, że miałem niewłaściwą ścieżkę do pliku kluczy.
W rzeczywistości, jeśli narzędzie nie znajdzie zestawu kluczy, który ustawiłeś, utworzy go i da ci zły klucz, ponieważ nie używa poprawnego.
Ogólna zasada jest taka, że jeśli nie zostaniesz poproszony o podanie hasła, wygenerowany zostanie niewłaściwy klucz.
źródło
Można użyć tej apk
źródło
Wypróbuj tę odpowiedź
https://stackoverflow.com/a/54513168/9236994
przy minimalnym wysiłku pomaga rozwiązać problem.
źródło
keytool -exportcert -alias androiddebugkey -keystore "C: \ Users ** Deepak **. android \ debug.keystore" | " C: \ Users \ Deepak \ ssl \ bin \ openssl" sha1 -binary | Base64 " C: \ Users \ Deepak \ ssl \ bin \ openssl"
2 Zmiany w powyższym poleceniu 1.Deepak === Zastąp przez system NAZWA UŻYTKOWNIKA 2.C: \ Users \ Deepak \ ssl === zastąp ścieżkę Open SSL
uruchom to polecenie i uzyskaj wynik w ten sposób
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 Wprowadź hasło do magazynu kluczy: ****** ga0RGNY ****************** =
źródło
jeśli ktoś ma problem z openssl, postępuj zgodnie z tymi instrukcjami:
Otóż to
https://sourceforge.net/projects/openssl/files/latest/download
źródło