Jak uzyskać certyfikat odcisków palców SHA - 1 W Android Studio w trybie debugowania?
Przeniosłem się z Eclipse do Android Studio . Teraz próbuję pracować nad moją aplikacją Map. Potrzebuję numeru certyfikatu odcisków palców SHA-1.
Kiedy korzystałem z Eclipse to było tuż pod Windows -> Preferences -> Android -> Build. Ale w Android Studio nie mogłem znaleźć takiej opcji, abym mógł łatwo znaleźć odcisk palca. Używam systemu Windows. Przeczytałem z tego linku, że:
Android Studio signs aplikacja w trybie debugowania automatycznie po Uruchom lub Debuguj swój projekt z IDE.
Więc próbowałem uruchomić to w wierszu poleceń po ustawieniu mojej ścieżki bin Java z ten link i niestety nie mogłem znaleźć mojego odcisku palca. mówi, że jest to nielegalna opcja .
keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
Czy istnieje sposób na znalezienie odcisku palca SHA-1 z Android Studio, jakby było to bardzo łatwe w Eclipse? Jak jestem początkujący w Android Studio, jaki jest pełny proces, aby znaleźć to?
Kolejną rzeczą, którą chcę dodać jest to, że mam mój Eclipse generuje odcisk palca SHA-1 i wcześniej mam moją aplikację zarejestrowaną na tym odcisku palca w Google developer console, i pracowałem na tej aplikacji w Eclipse przez ten klucz API. Czy ten sam klucz API można pracować nad tym moim projektem w Android Studio?
30 answers
Najprostsze sposoby kiedykolwiek:
Aktualizacja dodana dla Android Studio V 2.2 w ostatnim kroku
Można to zrobić na dwa sposoby.1. Szybszy sposób :
- Otwórz Android Studio
- Otwórz swój projekt
- Kliknij na Gradle (z prawej strony zobaczysz Pasek Gradle)
- kliknij Odśwież (kliknij Odśwież z paska Gradle , zobaczysz listę skryptów Gradle twojego projektu)
- Kliknij na swój Projekt (nazwa projektu formularz Lista (root))
- Kliknij na zadania
- Kliknij na Androida
- Kliknij dwukrotnie na signingReport (otrzymasz SHA1 i MD5 w Run Bar (czasami Będzie to w konsoli Gradle))
- Wybierz app moduł z listy rozwijanej module selection aby uruchomić lub debugować aplikację
Sprawdź zrzut ekranu poniżej:
2. Praca z Google Aktywność Mapy :
- Otwórz Android Studio
- Otwórz Swój Projekt
- Kliknij na Plik menu - > Wybierz Nowy - > Kliknij na Google - > Wybierz aktywność w Google Maps
- pojawi się okno dialogowe - > kliknij na Zakończ
- Android Studio automatycznie wygeneruje XML Plik o nazwie z
google_maps_api.xml
- dostaniesz debug SHA1 Klucz tutaj (w linia numer 10 XML plik)
Sprawdź zrzut ekranu poniżej:
Android Studio V 2.2 Update
Występuje problem z wykonaniem .
Rozwiązanie:
- Kliknij na Przełącz wykonywanie zadań / tryb tekstowy z Uruchom pasek
Sprawdź zrzut ekranu poniżej:
Załatwione.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-04 15:14:23
Mój problem jest taki sam, jak przeniosłem mój projekt Google Maps z Eclipse do Android Studio. Rozwiązałem swój problem, podążając za tym:
Przejdź do katalogu Java bin za pomocą polecenia:
C:\Program Files\Java\jdk1.7.0_71\bin>
Wpisz teraz poniższe polecenie w oknie poleceń (CMD.EXE):
keytool -list -v -keystore c:\users\your_user_name\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android
Przykład:
keytool -list -v -keystore c:\users\James\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android
Lub możesz po prostu napisać to w cmd, jeśli nie znasz nazwy użytkownika:
keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
I dostaniesz SHA1.
Następnie utworzyłem nowy klucz z https://code.google.com/apis/console ponieważ moja Nazwa pakietu została zmieniona, a następnie użyj tego klucza w mojej aplikacji. Działa dobrze.
Upewnij się, że jesteś w BIN folderze jdkX.X. X_XX (moja nazwa folderu to jdk1.7.0_71), albo jeśli nie wiesz, jaką masz nazwę folderu, znajdź ją, otwierając folder Java, a zobaczysz, jaka jest nazwa folderu, ale musisz być w swoim folderze BIN, a następnie uruchom to dowództwo. Dzisiaj mam swoją wartość SHA1 w oknie poleceń cmd za pomocą powyższej procedury.
Migawka:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-16 04:29:07
Właśnie znalazłem sprawę, aby dostać SHA-1 W Android Studio:
- Kliknij na pakiet i wybierz Nowy -> Google -> Google Maps Activity Android Studio przekierowuje Cię do google_maps_api.xml
I zobaczysz wszystko, czego potrzebujesz, aby uzyskać google_maps_key
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-30 19:33:15
Dla Mac ' a to działało idealnie:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-27 15:18:46
Najlepszym rozwiązaniem do generowania SHA-1 klucz dla Androida jest z Android Studio .
Kliknij na Gradle po prawej stronie:
Kliknij ikonę Odśwież, a zobaczysz nazwę aplikacji:
Kliknij na zadania -> sprawozdanie -> podpisywanie raportu :
Znajdź klucz SHA - 1 w dolnej części konsoli:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-30 19:20:43
[Aktualizacja 2017]
Krok 1: W prawym górnym rogu Android Studio kliknij opcję Gradle.
Krok 2:
-- kliknij na odśwież (kliknij na odśwież z paska Gradle, zobaczysz listę skryptów Gradle twojego projektu)
-- kliknij na swoim projekcie (lista form nazwy projektu (root))
-- kliknij na zadania
-- kliknij na Androida
-- Kliknij dwukrotnie na signingReport (otrzymasz SHA1 i MD5 in Gradle Console / Run Bar)
Krok 3: Kliknij opcję konsoli Gradle na dole Android Studio, aby zobaczyć klucz SHA1.
Krok 4: Teraz masz klucz SHA, ale nie możesz uruchomić swojego projektu.Dlatego zmień konfigurację na tryb aplikacji. Patrz obrazek poniżej.
W ten sposób.
Krok 5: Szczęśliwe Kodowanie!!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-12 19:12:52
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-04 06:26:06
Dla Linuksa
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-11 12:56:05
Użyłem bezpośrednio następującego polecenia z komputera Mac przy użyciu terminala. Mam palec SHA1. To jest polecenie:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-30 19:01:47
Za zdobycie SHA1 dla keystore produkcji:
Zbuduj -- > Wygeneruj podpisany APK...
-
Utwórz keystore z hasłem i wykonaj kroki
Przejdź do Mac / Library / Java / JavaVirtualMachines / jdk1.8. 0_20.jdk / Contents / Home / bin i przeciągnij folder bin do terminala po poleceniu cd, aby wskazać na niego, abyś mógł użyć narzędzia keytool. Tak więc, w terminalu write
cd
(Przeciągnij bin tutaj), a następnie naciśnij enter.-
Następnie skopiuj i wklej to w terminal:
keytool -exportcert -alias Your_keystore_AliasName -keystore /Users/Home/Development/AndroidStudioProjects/YoutubeApp/app/YoutubeApp_keystore.jks -list -v
Usuń moją ścieżkę i idź tam, gdzie przechowałeś swój keystore, przeciągnij swój keystone i upuść go po
-keystore
w wierszu poleceń, aby ścieżka została utworzona.Usuń również Nazwę_keystore_aliasename, aby umieścić nazwę Keystone aliasu, której użyłeś podczas jego tworzenia.
Naciśnij Enter i wprowadź hasło :)
Po wprowadzeniu hasła terminal nie pokaże, że otrzymuje wpisy z klawiatury, ale faktycznie tak, więc wprowadź hasło i naciśnij Enter , nawet jeśli nie widzisz, że hasło jest wpisane.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-30 19:11:13
To bardzo proste w Gnu / Linux - Mac - Okna
Pierwszy: - skopiuj to polecenie
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
Po Drugie: Teraz skopiuj i wklej polecenie w terminalu Android Studio
Wynik!
Powodzenia!!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-18 17:19:01
Jeśli używasz Android Studio, możesz uzyskać SHA-1 i certyfikat MD5 fingerprint (debug, release... Wszystkie typy budowy !!) szybko przez zadania Gradle :
SigningReport
Certyfikaty SHA-1 i MD5 są pokazane w dziennikach wiadomości .
Wtyczka Android (skonfigurowana w aplikacji Gradle) tworzy domyślny tryb debugowania.Com.android.zastosowanie
File route to keystore:
HOME/.android/debug.keystore
Polecam załączyć debug.keystore
do build.gradle
. Aby to zrobić, umieść plik debug.keystore
w folderze aplikacji, a następnie dodaj SigningConfigs w Gradle app:
apply plugin: 'com.android.application'
android {
................
signingConfigs {
debug {
storeFile file("../app/debug.keystore")
storePassword "android"
keyAlias "androiddebugkey"
keyPassword "android"
}
release {
storeFile file("../app/debug.keystore")
storePassword "android"
keyAlias "androiddebugkey"
keyPassword "android"
}
}
........
}
Extra: jeśli chcesz utworzyć plik do wydania, umieść plik release.keystore
w folderze aplikacji. (Ten przykład używa tego samego debug.keystore
.)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-30 19:34:44
Jeśli masz Android Studio to jest to bardzo bardzo proste. Wystarczy utworzyć MapActivity za pomocą Android Studio i po utworzeniu go przejść do google_maps_api.xml. Tam będzie link podany w komentarzach. Jeśli wkleisz go w przeglądarce, poprosi o podanie kilku szczegółów, a następnie wygeneruje Twoje API. Nie ma potrzeby używania keytool i w ogóle.
Screen shot:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-30 19:01:01
- Kliknij ikonę Gradle w prawym okienku.
- Kliknij nazwę projektu Root.
- Kliknij Zadania
- Kliknij Android
- Click signingReport
- w dolnym okienku, gdzie widzisz Run report
- kliknij "Przełącz wykonywanie zadań / tryb tekstowy"
- możesz zobaczyć sha-1
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-16 10:13:50
Dla Windows 10 , z Android Studio terminal:
keytool -exportcert -alias androiddebugkey -keystore %USER_PROFILE%"/.android/debug.keystore -list -v
Uwaga: dla debug.keystore
, Hasło to "android". Klucz debugowania znajduje się zazwyczaj w "%USER_PROFILE%"/.android/debug.keystore
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-30 19:14:34
Chcę dodać jedną rzecz z odpowiedzią udzieloną przez Softcoder . Widziałem, że niektórzy ludzie nie mogli dać swojego debugowania.keystore ścieżka poprawnie na command line
. Widzą, że robią dokładnie proces zaakceptowany powyżej, ale to nie działa. W tym momencie spróbuj przeciągnąć debugowanie.keystore i upuść go w wierszu poleceń. Pomoże to, jeśli zaakceptowana odpowiedź nie działa dla Ciebie. Wykonaj cały proces bez wahania. To była miła odpowiedź.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:10:48
Użyj prostej komendy:
Keytool-exportcert-keystore path-to-debug-or-production-keystore-list-v
I dostaniesz klucz SHA1.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-10 14:18:17
Znalazłem bardzo łatwy proces, aby znaleźć MD5, SHA-1 odcisk palca za pomocą Android Studio.
- Uruchom swój projekt
- Przejdź do menu Gradle (Menu: Widok -> okna narzędzi -> Gradle)
- Przejdź do 'signingReport' w oknie Gradle. (Twój projekt - > zadania - > android - > signingReport)
Uruchom go. (Za pomocą podwójnego kliknięcia lub Ctrl + Shift + F10)- w oknie Uruchom znajdziesz wszystkie informacje.
Działa tylko w trybie debugowania. In realease nie widzę sha-1.
Tutaj wynik gradlew signingReport
Variant: release
Config: none
----------
Variant: releaseUnitTest
Config: none
----------
Variant: debug
Config: debug
Store: path\Android\avd\.android\debug.keystore
Alias: AndroidDebugKey
MD5: xx:xx:xx:62:86:B7:9C:BC:FB:AD:C8:C6:64:69:xx:xx
SHA1: xx:xx:xx:xx:0F:B0:82:86:1D:14:0D:AF:67:99:58:1A:01:xx:xx:xx
Valid until: Friday, July 19, 2047
----------
Więc muszę użyć keytool, żeby zdobyć sha-1. Tutaj oficjalna baza ogniowa doc:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-03 11:49:34
To działało w moim przypadku: użyj %USERPROFILE% zamiast podawać ścieżkę .plik keystore zapisany w tej ścieżce automatycznie C:Users/user imię/android :
keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-30 19:18:54
Kliknij ikonę Gradle na prawym panelu, a następnie kliknij (root).
Zadania > android > signingReport
Wtedy skrypt Gradle zostanie uruchomiony i zobaczysz swoje klucze.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-12 07:54:33
Robię to w ten sposób:
Krok 1: Przejdź do tego folderu
Na Macu: / Users//.android /
W systemie Windows: C:\Documents i ustawienia\.android\
Na Linuksie:~/.android /
Krok 2: Uruchom tę linię poleceń:
keytool -list -v -keystore debug.keystore -storepass android
Zobaczysz klucz SHA-1.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-30 19:23:42
Użyj instrukcji z Menedżera API przy użyciu keytool:
Pobierz nazwę pakietu z AndroidManifest.plik xml. Następnie użyj następujące polecenie, aby uzyskać odcisk palca:
keytool -list -v -keystore mystore.keystore
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-16 23:22:51
Podczas tworzenia nowego "projektu Google Maps", w Android Studio V 1.5.1, ostatni ekran otwiera plik google_maps_api.xml
i wyświetla ekran z instrukcjami w następujący sposób:
Zasoby:
Do zrobienia: zanim uruchomisz aplikację, potrzebujesz klucza Google Maps API.
Aby go zdobyć, kliknij ten link, postępuj zgodnie ze wskazówkami i naciśnij "utwórz" na końcu:Możesz również dodać swoje poświadczenia do istniejącego klucza, używając tej linii:
TWÓJ SHA-1:NAZWA TWOJEGO PAKIETUAlternatywnie, postępuj zgodnie ze wskazówkami tutaj:
https://developers.google.com/maps/documentation/android/start#get-keyGdy masz swój klucz (zaczyna się od " AIza"), zastąp łańcuch" google_maps_key " w tym pliku.
<string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">YOUR GOOGLE MAPS KEY</string>
Aby uzyskać klucz GOOGLE MAPS wystarczy wyciąć i wkleić link URL podany w przeglądarce i postępuj zgodnie z instrukcjami powyżej w momencie tworzenia nowej aplikacji. SHA-1
i Package names
są już w podanym linku, więc nie musisz ich znać. Będą one jednak w Twoim projekcie w pliku resources>Values>google_maps_api.xml
, który jest wypełniany, gdy postępujesz zgodnie z instrukcjami dotyczącymi tworzenia projektu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-30 19:18:08
Możesz użyć następującego polecenia I zmienić nazwę systemu.To jest tylko do debugowania.keystore.To ci pomoże.
C:\Program Files\Java\jdk1.8.0_91\bin>keytool -list -v -keystore "c:\users\AJAY SUNDRIYAL\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-24 13:19:36
To mi pomogło:
keytool -exportcert -alias androiddebugkey -keystore
Umieść ścieżkę-do-debug-or-production-keystore tutaj, jak C:\users\youruser.Android\debug.keystore-list-v
Upewnij się, że jesteś już w katalogu Java\jdk*\bin
w oknie Polecenia lub terminala.
Następnie użyj Androida jako hasła.
Czasami zasoby internetowe mogą wprowadzać w błąd. To są te, które działają:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-30 18:59:02
Ścieżka klucza jest w cudzysłowach. Działa dobrze.
keytool -list -v -keystore "C:\Users\App innovation\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-30 19:07:47
Jeśli potrzebujesz SHA1 dla Google Maps, możesz zobaczyć swój błąd log in LogCat .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-30 19:15:24
Przejdź do Plik > struktura projektu Wybierz "app" lub "mobile" niezależnie od nazwy z "Modules" Wybierz zakładkę "podpisywanie".
Możesz dodać certyfikat klikając na przycisk'+'.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-23 08:21:08
Najprostszym sposobem uzyskania odcisku palca jest przejście z aplikacji do podpisanego raportu, klikając rozwijaną listę i klikając build.
Następnie będziesz mógł zobaczyć odcisk palca sha1 w dolnym okienku, gdzie zobaczysz raport debugowania i ślad stosu. N. b pamiętaj, aby przełączyć się z powrotem do aplikacji, gdy chcesz uruchomić aplikację na urządzeniu lub emulatora.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-30 22:07:51
Proste, wywołanie tej metody na ekranie powitalnym: hash () i getCertificateSHA1Fingerprint (), a następnie klucze będą widoczne w log
private void hash() {
PackageInfo info;
try {
info = getPackageManager().getPackageInfo(
this.getPackageName(), PackageManager.GET_SIGNATURES);
for (android.content.pm.Signature signature : info.signatures) {
MessageDigest md;
md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.e("sagar sha key", md.toString());
String something = new String(Base64.encode(md.digest(), 0));
Log.e("sagar Hash key", something);
System.out.println("Hash key" + something);
}
} catch (PackageManager.NameNotFoundException e1) {
Log.e("name not found", e1.toString());
} catch (NoSuchAlgorithmException e) {
Log.e("no such an algorithm", e.toString());
} catch (Exception e) {
Log.e("exception", e.toString());
}
}
private void getCertificateSHA1Fingerprint() {
PackageManager pm = this.getPackageManager();
String packageName = this.getPackageName();
int flags = PackageManager.GET_SIGNATURES;
PackageInfo packageInfo = null;
try {
packageInfo = pm.getPackageInfo(packageName, flags);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
Signature[] signatures = packageInfo.signatures;
byte[] cert = signatures[0].toByteArray();
InputStream input = new ByteArrayInputStream(cert);
CertificateFactory cf = null;
try {
cf = CertificateFactory.getInstance("X509");
} catch (CertificateException e) {
e.printStackTrace();
}
X509Certificate c = null;
try {
c = (X509Certificate) cf.generateCertificate(input);
} catch (CertificateException e) {
e.printStackTrace();
}
String hexString = "";
try {
MessageDigest md = MessageDigest.getInstance("SHA1");
byte[] publicKey = md.digest(c.getEncoded());
Log.e("sagar SHA",byte2HexFormatted(publicKey));
} catch (NoSuchAlgorithmException e1) {
e1.printStackTrace();
} catch (CertificateEncodingException e) {
e.printStackTrace();
}
}
public static String byte2HexFormatted(byte[] arr) {
StringBuilder str = new StringBuilder(arr.length * 2);
for (int i = 0; i < arr.length; i++) {
String h = Integer.toHexString(arr[i]);
int l = h.length();
if (l == 1) h = "0" + h;
if (l > 2) h = h.substring(l - 2, l);
str.append(h.toUpperCase());
if (i < (arr.length - 1)) str.append(':');
}
return str.toString();
}
Dziękuję.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-16 12:32:38