Chcę wygenerować podpis aplikacji dla mojej aplikacji, który zostanie później zintegrowany z Facebookiem. W jednym z samouczków Facebooka znalazłem to polecenie:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
W samouczku jest napisane, że uruchamiając to polecenie cmd, rozpocznie się mój proces generowania podpisu.
Jednak to polecenie powoduje błąd:
openssl is not recognized as an internal or external command
Jak mogę się tego pozbyć?
java
android
facebook-android-sdk
keytool
Khurram
źródło
źródło
Odpowiedzi:
Cóż, w miejscu openssl ... musisz podać ścieżkę do pobranego folderu openssl. Twoje aktualne polecenie powinno wyglądać następująco:
Pamiętaj, że ścieżka, którą wejdziesz, będzie ścieżką, na której zainstalowałeś openssl ... mam nadzieję, że to pomoże .. :-)
Edytować:
możesz pobrać openssl dla Windows 32 i 64 bit z odpowiednich linków poniżej:
OpenSSL dla 64 bitów
OpenSSL dla 32 bitów
źródło
Użyj całej ścieżki, w ten sposób:
U mnie to zadziałało.
źródło
Wykonaj następujące kroki, mam nadzieję, że Twój klucz działa poprawnie:
Krok 1 Będziesz potrzebował OpenSSL. Możesz pobrać plik binarny z projektu openssl-for-windows w Google Code.
Krok 2 Rozpakuj folder, a następnie skopiuj ścieżkę do pliku
bin
folderu do schowka.Na przykład, jeśli plik jest rozpakowany do lokalizacji
C:\Users\gaurav\openssl-0.9.8k_WIN32
, skopiuj ścieżkęC:\Users\gaurav\openssl-0.9.8k_WIN32\bin
.Krok 3 Dodaj ścieżkę do ścieżki środowiska systemowego. Po ustawieniu
PATH
zmiennej środowiskowej otwórz cmd i wpisz następujące polecenie:Po wyświetleniu monitu wpisz hasło. Jeśli polecenie działa, zostanie wyświetlony klucz.
źródło
To działa dla mnie pomyślnie.
"C: \ Program Files \ Java \ jdk1.6.0_26 \ bin \ keytool.exe" -exportcert -alias sociallisting -keystore "D: \ keystore \ SocialListing" | „C: \ cygwin \ bin \ openssl.exe” sha1 -binary | „C: \ cygwin \ bin \ openssl.exe” base64
Uważaj na poniższą ścieżkę:
Jeśli polecenie zadziała pomyślnie, zobaczysz to polecenie:
Wprowadź hasło magazynu kluczy: wpiszeyourpassword
Zaszyfrowany klucz skrótu **
źródło
to późna odpowiedź, ale pomoże leniwym ludziom takim jak ja .. dodaj ten kod do swojej klasy Application, nie ma potrzeby pobierania openssl i nie ma potrzeby ustawiania ścieżki .. wystarczy tylko skopiować ten kod .. a keyHash wygenerowane w logu.
i nie zapomnij dodać klasy MyApplication w manifeście:
źródło
Najpierw przejdź do folderu Java / jre / bin w cmd cd c: \ Program Files (x86) \ Java \ jre7 \ bin
Następnie użyj: [zmień ścieżkę debug.keystore do właściwej lokalizacji w twoim systemie] zainstaluj openssl (dla Windows 32 lub 64 zgodnie z Twoimi potrzebami w c: \ openssl)
Więc całe polecenie wygląda tak: [monituje o wprowadzenie hasła do magazynu kluczy podczas wykonywania]
źródło
następnie przejdź do C: \ Program Files \ Java \ jdk1.8.0_05 \ bin i naciśnij klawisz Shift, kliknij prawym przyciskiem myszy i otwórz cmd
to jest dla Sha1 poza tym narzędziem
kluczy -exportcert -alias androiddebugkey -keystore "C: \ User \ ABC \ .android.keystore" | openssl sha1 -binary | openssl base64
// a ABC to nazwa systemu wstaw własną nazwę systemu
źródło
bin
folderu odwołujesz się w drugim kroku?Użyłem tego kodu:
To działa dla mnie pomyślnie.
źródło
użyj tego zadziałało dla mnie. proszę zmień swoją ścieżkę
C: \ Program Files \ Java \ jre7 \ bin keytool -exportcert -alias androiddebugkey -keystore "C: \ Users \ Ace.android \ debug.keystore" | „C: \ openssl \ bin
\ openssl.exe "sha1 -binary |" C: \ openssl \ bin \ openssl.exe "base64
źródło
Pobieranie i rozpakowywanie
Możesz pobrać openssl dla Windows 32 i 64 bit z odpowiednich linków poniżej:
https://code.google.com/archive/p/openssl-for-windows/downloads
OpenSSL dla 64-bitów OpenSSL dla 32-bitów
Ważny zmień naszą ścieżkę tutaj, a także zainstaluj open ssl w swoim systemie
Działa bez wątpienia
Wprowadź hasło magazynu kluczy: android
==================================================== ===========
używanie ręcznie poprzez kodowanie
źródło
Dla tych, którzy szukają nowszej lokalizacji do zainstalowania binarnej wersji openssl (32-bitowej i 64-bitowej) dla systemu Windows, można ją znaleźć tutaj:
http://slproweb.com/products/Win32OpenSSL.html
Aktualna lista witryn oferujących dystrybucje binarne znajduje się tutaj
http://www.openssl.org/related/binaries.html
źródło
przejdź do ścieżki folderu bin w cmd, a następnie uruchom następujące polecenie
otrzymasz kluczowy hash
źródło
dla użytkowników systemu Windows pobierz otwarty ssl z repozytorium kodu Google https://code.google.com/p/openssl-for-windows/downloads/list
Po pobraniu wypakuj zawartość do folderu, najlepiej na dysku c:.
Następnie zaktualizuj zmienną środowiskową PATH, aby móc używać pliku .exe z dowolnej lokalizacji w wierszu poleceń.
[Windows 8] Aby zaktualizować zmienną środowiskową PATH, kliknij mój komputer-> właściwości-> Zaawansowane ustawienia systemu.
Kliknij kartę Zaawansowane i kliknij przycisk „Zmienna środowiskowa” na dole okna dialogowego, a następnie wybierz wpis Ścieżka w sekcji „Zmienne systemowe”, klikając edytuj.
Wklej ścieżkę do folderu bin wyodrębnionego pliku do pobrania openssl i kliknij OK.
Będziesz musiał zamknąć i otworzyć wiersz polecenia, który mógł zostać wcześniej uruchomiony, aby można było załadować zaktualizowane ustawienia ścieżki.
Teraz uruchom to polecenie:
keytool -exportcert -alias androiddebugkey -keystore "C: \ Users \ Oladipo.android \ debug.keystore" | openssl sha1 -binary | openssl base64
Powinieneś zobaczyć klucz programisty.
źródło
To działa dla mnie:
źródło
Nie ma gwarancji, że wygenerowanie hashkey za pomocą tej jednej metody openssl zadziała. Jeśli to nie działa dla mnie. Ale dziękuję za wskazówki, jak rozwiązać mój problem.
Gwarantowane rozwiązanie: Musisz przerwać całe polecenie w osobnych poleceniach i zapisać dane wyjściowe każdego wykonania w pliku.
Możesz skorzystać z pomocy z poniższego linku:
http://www.helloandroid.com/tutorials/using-facebook-sdk-android-development-part-1
Cieszyć się :)
źródło