Próbuję zarejestrować moją aplikację na Androida, postępując zgodnie z instrukcjami w https://developers.google.com/console/help/#installed_applications, które prowadzą mnie do śledzenia http://developer.android.com/tools/publishing/app- signing.html .
Jednak nie jestem pewien, jak uzyskać odcisk cyfrowy certyfikatu podpisywania (SHA1).
Najpierw użyłem wtyczki Eclipse ADT do wyeksportowania i utworzenia magazynu kluczy / klucza. Potem spróbowałem keytool -list keystore mykeystore.keystore
i otrzymałem odcisk palca certyfikatu MD5. Czy muszę powtórzyć podpisywanie (co oznacza, że nie mogę użyć kreatora eksportu eclipse)?
Czy mogę najpierw użyć certyfikatu debugowania?
Odpowiedzi:
Rozpocznij proces eksportu, aby utworzyć plik APK dla swojej aplikacji i użyć klucza produkcyjnego. Ostatnia strona zawiera odciski cyfrowe certyfikatów SHA1 i MD5
źródło
Wiem, że odpowiedziano na to pytanie, ale w ten sposób znalazłem swój podpis dla domyślnego magazynu kluczy. W Eclipse, jeśli przejdziesz do Windows -> Preferencje -> Android -> Build
źródło
Myślę, że to zadziała idealnie. Użyłem tego samego:
W przypadku Android Studio:
źródło
Jeśli używasz Maca, a nawet Linuksa, po prostu skopiuj i wklej to do aplikacji Terminal , a natychmiast otrzymasz klucz SHA1. Nie musisz niczego zmieniać.
Przykładowe dane wyjściowe:
źródło
użyj tego w linii poleceń
źródło
Otwórz terminal (w Unix , w MAC ), (
cmd
w Windows ) icd
do tej (twojej java) ścieżki:Uruchom to polecenie:
Po prostu zmień ścieżkę na,
debug.keystore
a otrzymasz odciski palców MD5 i SHA-1.źródło
Uruchom to polecenie z katalogu, w którym znajduje się magazyn kluczy aplikacji.
źródło
W Android Studio wykonaj następujące kroki:
źródło
Sprawdź, czy chcesz użyć
Google Map
w tym momencieMD5
odcisku palca do generowaniaapi kay
do korzystania z mapy google w aplikacji na Androida.Polecenie Keytool generuje
MD5
odcisk palca, jeśli używasz,JDK 1.6
i generujeSHA1
odcisk palca, jeśli używaszJDK 1.7
.Więc chodzi o to, że jeśli chcesz podpisać swoją aplikację do publikacji, przeczytaj to .
A jeśli chcesz skorzystać,
google-map
przeczytaj to .źródło
keytool -list -v etc
polecenieJeśli używasz IntelliJ (12+?), Przejdź do menu Build / Generate signed Api
Po wypełnieniu wyskakującego okienka pobierz dane w polu „ścieżka do magazynu kluczy” (np. C: \ Users \ user \ Documents \ store \ store)
I uruchom w wierszu poleceń:
Powodzenia
źródło
Jeśli ktoś korzysta ze studia Android ...
kliknij: Buduj> Generuj plik APK z podpisem Utwórz nowy klucz: spowoduje to wygenerowanie plików „.jks”
Użyj następującego polecenia, aby odczytać dane (SHA1 i inne informacje):
$ keytool -list -v -keystore nazwa_pliku.jks
źródło
$keytool -keystore filename.jks | openssl sha1 -binary | openssl base64
Dla tych, którzy używają OpenSSL, możesz pobrać odcisk palca SHA1 w ten sposób:
Co dałoby następujący wynik:
źródło
Jeśli używasz Android Studio. Nie musisz generować odcisku palca SHA1 za pomocą polecenia cmd. Wystarczy, że stworzysz projekt z domyślną aktywnością map w Android Studio. W projekcie możesz pobrać odcisk palca w google_maps_api.xml w folderze Values. Mam nadzieję, że to ci pomoże. :)
źródło
Oto moje proste rozwiązanie:
Kliknij
Gradle
przycisk, który znajdziesz po prawej stronie u góry. zobaczysz wszystkie pliki gradle. Teraz przejdź do Androida i kliknij dwukrotnie raport podpisywania. Po zakończeniu budowania gradle zobaczysz klucz SHA. Sprawdź poniższe obrazy, aby zapoznać się z przewodnikiem krok po kroku.Po kliknięciu Gradle sprawdź poniższe obrazy. Mam nadzieję, że to komuś pomoże.
KROK 1:
KROK 2:
źródło
Jeśli używasz Android Studio. Możesz szybko uzyskać odcisk cyfrowy certyfikatu SHA1 (debugować, zwolnić ... wszystkie typy kompilacji !!) za pomocą zadań Gradle :
SHA1 jest wyświetlany w dziennikach komunikatów
Wtyczka Android (skonfigurowana w aplikacji Gradle) tworzy domyślny tryb debugowania.
Trasa pliku do magazynu kluczy:
HOME / .android / debug.keystore
Zalecam dołączenie debug.keystore do build.gradle. Aby to zrobić, umieść plik debug.keystore w folderze aplikacji, a następnie dodaj SigningConfigs w aplikacji gradle:
Dodatkowo: jeśli chcesz tworzyć do wydania, umieść plik release.keystore w folderze aplikacji. (W tym przykładzie zastosowano ten sam plik debug.keystore)
źródło
Spróbuj tego: Windows ---- preferencje ---- Android - kompilacja --- kopia kodu sh1 stąd
źródło
Za pierwszym razem byłem tak zagmatwany, ale proponuję Ci ostateczne działające rozwiązanie dla systemu Windows:
1) Otwórz cmd i przejdź do katalogu Java / jdk / bin (po prostu naciśnij,
cd ..
aby przejść o jeden folder wstecz icd NAME_FOLDER
jeden folder do przodu), w moim przypadku folder końcowy:C:\Program Files\Java\jdk1.8.0_73\bin>
2) Teraz wpisz to polecenie
keytool -list -v -keystore C:\Users\YOUR_WINDOWS_USER\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android
W rezultacie musisz dostać coś takiego:
źródło
Myślę, że to zadziała idealnie. Użyłem tego samego:
W przypadku Android Studio:
Kliknij Build> Generate Signed APK. Otrzymasz komunikat, po prostu kliknij OK.
Teraz pojawi się kolejne okno, po prostu skopiuj ścieżkę magazynu kluczy.
Teraz otwórz wiersz poleceń i przejdź do C: \ Program Files \ Java \ jdk1.6.0_39 \ bin> (lub dowolnej zainstalowanej wersji jdk).
Wpisz keytool -list -v -keystore, a następnie wklej ścieżkę do magazynu kluczy (np. C: \ Program Files \ Java \ jdk1.6.0_39 \ bin> keytool -list -v -keystore "E: \ My Projects \ Android \ android studio \ podpisane apks \ Hello World \ HelloWorld.jks ").
Teraz zapyta o hasło magazynu kluczy, poda twoje i naciśnij Enter, aby uzyskać klucze certyfikatu SHA1 i MD5.
Teraz dodaj ten klucz SHA1 do konsoli programistów Google na karcie poświadczeń, a także zmień warianty kompilacji w Android Studio na tryb wydania.
źródło
Dla tych na Macu, którzy szukają keytool wykonaj następujące kroki:
Najpierw upewnij się, że zainstalowałeś Java JDK http://docs.oracle.com/javase/7/docs/webnotes/install/mac/mac-jdk.html
Następnie wpisz to w wierszu polecenia:
/usr/libexec/java_home -v 1.7
wypluje coś takiego:
keytool znajduje się w tym samym katalogu co
javac
. to znaczy:Z katalogu bin możesz skorzystać z narzędzia keytool.
źródło
Jeśli korzystasz z systemu Mac / Linux, możesz uzyskać odcisk palca SHA1, pisząc następujący wiersz w terminalu:
Po tym są możliwe 2 rzeczy
Poprosi Cię o hasło
Po prostu wpisz
i naciśnij enter, możesz znaleźć klucz SHA1 w danych wyjściowych pokazanych poniżej.
Poprosi Cię o pobranie odpowiedniego programu (i zostanie podana lista)
Po prostu wpisz następujący w terminalu
a następnie ponownie uruchom następujące w terminalu:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
Tym razem zostaniesz przeniesiony do kroku 1, w którym musisz po prostu wpisać hasło jako
a poniżej w danych wyjściowych otrzymasz odcisk palca SHA1.
źródło
Korzystanie z Portecle :
źródło
Najłatwiejszy sposób na uzyskanie SHA-1 w trybie wydania i debugowania Android Studio Gradle. Sprawdź to
źródło
Chciałem wysłać powiadomienie do tych, którzy mają ten sam problem co ja. Wykonałem kroki, aby wygenerować mój debugujący SHA-1 i moją wersję SHA-1. Próbowałem połączyć interfejs API logowania Google z moją aplikacją.
Napotkałem problem polegający na tym, że debugowanie .apk działałoby dobrze, łączyło się i uwierzytelniało za pomocą logowania Google. Moja wersja .apk również działałaby po ręcznej instalacji w telefonie. Kiedy opublikowałem moją wersję .apk w sklepie Google Play, moje logowanie google nie mogło zostać uwierzytelnione i pojawił się problem!
Najdłużej nie mogłem tego rozgryźć, ale stwierdziłem, że moja aplikacja jest podpisywana przez Google, tj. Wyświetlał się komunikat na górze konsoli programisty: Podpisywanie aplikacji Google Play jest włączone dla tej aplikacji.
Poszedłem do zakładki Release Management, przewinąłem w dół do App Signing i znalazłem tam SHA-1. Po dodaniu tego do mojego kodu i na „konsoli Firebase”, której używałem jako zaplecza logowania Google, wszystko wydawało się działać. Wygląda na to, że mój magazyn kluczy wydania został zastąpiony certyfikatem podpisanym przez Google ... Nie jestem pewien, czy tak się dzieje, ale rozwiązało to mój problem i umożliwiło poprawne uwierzytelnienie za pomocą znaku Google Play Store. w!
źródło
Rozwiązanie krok po kroku:
Zmień katalog na katalog, w którym znajduje się plik keytool. Zmień katalog za pomocą polecenia
cd <directory path>
. (Uwaga: jeśli w dowolnej nazwie katalogu jest spacja, dodaj \między dwoma słowami. Przykładcd /Applications/Android\ Studio.app//Contents/jre/jdk/Contents/Home/bin/
)Aby znaleźć lokalizację swojego narzędzia do kluczy, przejdź do Android Studio i otwórz swój projekt. I idź do
Plik> Struktura projektu> Lokalizacja SDK i znajdź lokalizację JDK.
Uruchom narzędzie keytool za pomocą tego polecenia:
keytool -list -v –keystore <your jks file path>
(Uwaga: jeśli w dowolnej nazwie katalogu jest spacja, dodaj \ między dwoma słowami. Przykładkeytool -list -v -keystore /Users/username/Desktop/tasmiah\ mobile/v3/jordanos.jks
)Polecenie zachęca do wpisania hasła ... więc wprowadź swoje hasło ... a otrzymasz wynik
źródło
Oto narzędzie dla leniwych programistów:
1 dodaj zależność:
2 dodaj następujące wiersze gdzieś w swoim działaniu / aplikacji:
3 Otwórz logcat i przechwyć wiadomość.
4 Zysk!
źródło
keytool -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore
źródło
Jeśli chcesz uzyskać klucz fingerprint-sha1 podczas podpisywania pliku keystore.jks Uruchom następujące polecenie z terminala:
Przykład
źródło
Kliknij Gradle z prawej strony menu Następnie kliknij: aplikacja Następnie kliknij folder android Następnie istnieje nazwa pliku raportu podpisu Kliknij dwukrotnie na to. Zacznie się wykonywać i za chwilę pokaże Ci kod SHA-1 Po prostu skopiuj kod. I wklej go tam, gdzie potrzebujesz
źródło