Jak odzyskać alias klucza i hasło klucza dla podpisanego pliku APK w Android Studio (migrowane z Eclipse)


89

Mam obecnie opublikowaną aplikację na Androida w Google Play, którą okresowo aktualizuję. Postępuję zgodnie z następującym procesem, aby podpisać aplikację przed nowym push:

Naciśnij prawy przycisk myszy na projekcie, wybierz „Narzędzia Android” -> wyeksportuj podpisany pakiet aplikacji Podaj hasło do magazynu kluczy Podpisz aplikację Prześlij plik apk do Konsoli programisty Google Play

Niedawno zaimportowałem projekt z Eclipse do Android Studio i kontynuowałem pracę nad Android Studio. Teraz planuję wprowadzić poprawki w aplikacji. Pomyślałem, że mam tę opcję podpisania APK w Android Studio

Kompiluj -> Wygeneruj podpisany apk ->wprowadź opis obrazu tutaj

Zgodnie z moim zrozumieniem, w przypadku mojej aplikacji na Androida muszę używać tego samego magazynu kluczy i hasła magazynu kluczy, których użyłem wcześniej, aby przesyłać aktualizacje do Google Play. Również tutaj prosi o alias klucza i hasło klucza. Nie pamiętam aliasu klucza i hasła klucza (numer 4 na obrazku) podczas podpisywania apk w Eclipse. Jakieś sugestie, co mogę teraz zrobić? Jeśli znam już swój plik kluczy i hasło do magazynu kluczy, czy istnieje sposób na odzyskanie aliasu klucza i hasła klucza aliasu?

Aktualizacja: teraz mogę odzyskać mój alias klucza za pomocą polecenia keytool -list -v -keystore name.keystore


„nie było opcji aliasu klucza lub hasła klucza podczas podpisywania apk w Eclipse” - jest w moim Eclipse z wtyczką ADT. W rzeczywistości nie jest możliwe utworzenie klucza bez aliasu.
CommonsWare

W takim razie mógłbym nie pamiętać. Czy możesz powiedzieć, jak odzyskać alias klucza?
MSIslam

2
Jeśli masz hasło do magazynu kluczy, możesz keytoolbyć w stanie wyświetlić listę aliasów. Minęło trochę czasu, odkąd bawiłem się keytoolręcznie.
CommonsWare

1
Nie, tworzenie nowych nie jest w porządku, chyba że chcesz zmienić klucz na nowy i zmusić użytkowników do utraty danych aplikacji (a przynajmniej tych, którzy pobierają aplikację ze sklepu Play), aby zastąpić istniejącą aplikację taką, która ma inna nazwa. Najprawdopodobniej te, których obecnie używasz, są przechowywane gdzieś w metadanych projektu, najprawdopodobniej jako zwykły tekst.
Chris Stratton

3
Właściwie mogłem pobrać alias za pomocą polecenia keytool -list -v -keystore name.keystore. Teraz muszę odzyskać hasło. Czy istnieje sposób na odzyskanie hasła klucza aliasu?
MSIslam

Odpowiedzi:


159

Na komputerze Mac znalazłem ścieżkę do pliku kluczy, hasło, alias klucza i hasło klucza we wcześniejszym raporcie dziennika, zanim zaktualizowałem Android Studio.

Uruchomiłem konsolę i przewinęłem w dół do ~ / Library / Logs -> AndroidStudioBeta -> idea.log.1 (lub jakikolwiek stary numer dziennika)

Następnie wyszukałem „android.injected.signing.store” i znalazłem to z wcześniejszej daty:

-Pandroid.injected.signing.store.file=/Users/myuserid/AndroidStudioProjects/keystore/keystore.jks, 
-Pandroid.injected.signing.store.password=mystorepassword, 
-Pandroid.injected.signing.key.alias=myandroidkey, 
-Pandroid.injected.signing.key.password=mykeypassword,

W systemie Windows

Możesz znaleźć utracone hasło klucza w poniższej ścieżce

Project\.gradle\2.14.1\taskArtifacts\taskArtifacts.bin lub ..taskHistory\taskHistory.bin

Oto obraz widoku ścieżki w strukturze folderów

otwórz plik za pomocą odpowiednich narzędzi, np. NotePad ++ i wyszukaj część hasła, którą pamiętasz. Na pewno to znajdziesz. W przeciwnym razie spróbuj wyszukać za pomocą tego ciągu „signingConfig.storePassword”.

Uwaga: doświadczyłem tego samego i jestem w stanie to znaleźć. W przypadku, gdy nie znalazłeś, możesz wyczyścić całą pamięć podręczną i pliki tymczasowe.


14
Jesteś bogiem. Jeśli korzystasz z systemu Windows, przejdź do.AndroidStudioX.X (x.x is the version number eg 1.5) > system > log > idea
Pztar

11
Łał! Uratowałeś mój dzień, miesiąc i rok! Po prostu fantastycznie! :) Ale w moim przypadku (Android 2.2) hasło jest wyświetlane jako: ********. W systemie WindowsC:\Users\yourUser\.Android2.2\system\log\idea.log.1
Francisco Romero,

7
@ Error404 Hasło jest wyświetlane tuż pod pierwszą częścią *****.
Działało

1
^^ @przepraszam, ale zapomniałem oznaczyć cię w tym ... na wypadek, gdybyś nadal miał problemy
Kmanc

7
niestety nie działa na Windows i Android Studio 3.3. Hasła ukryte w ********
D.Zotov

120

W końcu mogłem rozwiązać problem.

Aby uzyskać alias klucza: Skopiowałem plik keytool.exe i plik magazynu kluczy do folderu C: \ Program Files \ Java \ jdk1.7.0_71 \ bin. Następnie z wiersza poleceń napisałem: keytool -list -v -keystore <name>.keystore Wtedy również zapyta o hasło do magazynu kluczy. Następnie wyświetli alias klucza i odciski palców certyfikatów oraz inne informacje.

Następnie ponownie spróbowałem wygenerować podpisany apk dla projektu, podałem magazyn kluczy, hasło do magazynu kluczy, alias klucza i podałem to samo hasło. Następnie prosi o hasło główne, próbowałem z tym samym i nie udało się. Z opcją resetowania resetuję tutaj hasło główne.


@JoelDean, czy możesz podać więcej szczegółów? Czy byłeś w stanie zresetować lub odzyskać hasło aliasu magazynu kluczy za pomocą tego? czy tylko alias?
rgamber

Zapamiętałem hasło, więc mogłem odzyskać alias za pomocą tej metody.
Joel Dean

czy możesz ponownie wyjaśnić drugą część swojej odpowiedzi? !! zgubiłeś mnie od „i
podałeś

1
@MuhammedRefaat to samo hasło co hasło do magazynu kluczy
MSIslam

1
Znam swoje hasło do magazynu kluczy, ale nie znam ścieżki do magazynu kluczy. Czy możesz mi pomóc, gdzie mogę je znaleźć. Znam tylko ścieżkę do pliku JKS, hasło do magazynu kluczy i alias kluczy, ale nie pamiętam hasła klucza. proszę o pomoc
Rajkumar Gour

53

jak odzyskać hasło do magazynu kluczy

Nie możesz odzyskać hasła. Jeśli o tym zapomniałeś, jesteś skazany.

jak odzyskać alias klucza

$ keytool -list -v -keystore <store>

Ale najpierw potrzebujesz hasła do magazynu kluczy.

EDYTOWAĆ

To, czego nie pamiętam, to „Kluczowe hasło”

Żadnego hasła nie można przywrócić. Jeśli na dobre zapomniałeś hasła do klucza, to również jesteś skazany na porażkę i nie ma innego sposobu, jak tylko spróbować je sobie przypomnieć. Nie ma rzeczy do resetowania hasła ani niczego takiego.

Pamiętaj, że jeśli zapomniałeś hasła na dobre, nie będziesz już aktualizować swojej aplikacji ( dokumentów ):

Ostrzeżenie: przechowuj swój magazyn kluczy i klucz prywatny w bezpiecznym miejscu i upewnij się, że masz bezpieczne ich kopie zapasowe. Jeśli opublikujesz aplikację w Google Play, a następnie zgubisz klucz, którym podpisałeś aplikację, nie będziesz mógł publikować żadnych aktualizacji aplikacji, ponieważ musisz zawsze podpisywać wszystkie wersje aplikacji tym samym kluczem.


2
Pamiętam hasło do magazynu kluczy. Mam też magazyn kluczy i teraz pamiętam klucz aliasu. To, czego nie pamiętam, to „Hasło klucza” (pole numer 4 na obrazku, o którym mowa).
MSIslam

Dziękuję za Twoją odpowiedź. Zagłosowano. Właściwie otrzymałem alias klucza wcześniej, tak jak wspomniałeś. Problemem było hasło aliasu klucza.
MSIslam

ale to tylko daje informacje o kluczach, w tym odciski palców, ale nie daje ci samego hasła, brakuje mi czegoś tutaj?
Muhammed Refaat

keytool istnieje również dla komputerów Mac
János

Zawsze możesz przywrócić swoje hasło, o ile nie sformatowałeś całkowicie dysku twardego i nie usunąłeś IDE. Jak wyjaśnił @Distjoy poniżej, zawsze używałem tego sposobu do przywracania haseł.
XIII

24

W systemie Windows - po prostu otwórz plik kluczy w notatniku iw pierwszym wierszu - możesz zobaczyć swój alias napisany angielską literą.


3
a na Macu możesz to zrobić za pomocą TextEdit
Leo Droidcoder

24

Odzyskaj hasło do magazynu kluczy

100% sprawne

Projects->taskHistory.bin

wprowadź opis obrazu tutaj

Find->KeyAlias

wprowadź opis obrazu tutaj

Uwaga: kliknij i wyświetl moje obrazy w celach informacyjnych

Teraz dla zaktualizowanej historii zadań Android Studio została zmieniona na historię wykonania [!


To zdecydowanie najłatwiejsza droga.
JPritchard9518

16

Na podstawie odpowiedzi gkemp, w systemie Windows znalazłem ścieżkę do pliku kluczy, hasło, alias klucza i hasło klucza we wcześniejszym raporcie dziennika, zanim zaktualizowałem Android Studio.

Z Eksploratora plików systemu Windows c: / Users / nazwa twojego komputera / .AndroidStudio1.4 (twoja wersja Android Studio) \ system \ log \ idea.log.1 (lub jakikolwiek stary numer dziennika)

Następnie wyszukałem „android.injected.signing.store” i znalazłem to z wcześniejszej daty:

-Pandroid.injected.signing.store.file= path to your keystore 
-Pandroid.injected.signing.store.password=yourstorepassword
-Pandroid.injected.signing.key.alias=yourkeyalias
-Pandroid.injected.signing.key.password=yourkeypassword

14

W ubuntu możemy znaleźć wszystkie hasła związane z magazynem kluczy z podanej ścieżki.

/home/user/.AndroidStudio2.2(current version)/system/log/idea.log.x(older versions)

edytuj plik i wyszukaj android.injected.signing.store, a następnie możesz znaleźć hasła.

-Pandroid.injected.signing.store.file= path to your keystore 
-Pandroid.injected.signing.store.password=yourstorepassword
-Pandroid.injected.signing.key.alias=yourkeyalias
-Pandroid.injected.signing.key.password=yourkeypassword

14

Aby po prostu przywrócić KEY ALIAS. Wpisz poniższe polecenie na terminalu.

$ keytool -list -v -keystore <storekey>

Poda informacje zaczynające się,

Twój magazyn kluczy zawiera 2 wpisy ...

Możesz tam poszukać aliasu.


10

Znalazłem hasło klucza w poniższej ścieżce

Project\.gradle\2.14.1\taskArtifacts\taskArtifacts.bin otwórz plik i wyszukaj część hasła, którą pamiętasz. Na pewno to znajdziesz.

Możesz również polecić tę odpowiedź stackoverflow.com/a/43007357/7089151


1
nie mogę znaleźć tego pliku w Android Studio 3.0, daj mi znać, jak mogę to zrobić.
Peter

@Peter Skorzystaj z tego: stackoverflow.com/a/43007357/7089151 Poznaj taskArtifacts.bin w strukturze projektu. Numery wersji może się zmienić, ale wszystko, co trzeba zrobić, to znaleźć taskArtifacts.bin
Maharishi Adiraju

1
Jeśli folder taskArtifacts nie istnieje, otwórz plik taskHistory / taskHistory.bin w edytorze tekstu i wyszukaj część pwd, którą pamiętasz.
Advait S

1
Czy macie pomysł, jak znaleźć hasło klucza? Mam storePassword, ale nie mam KeyPassword.
sommesh

9

Tak, zgubiony klucz można znaleźć w artefaktach zadań z Android Studio.

Project\.gradle\2.14.1\taskArtifacts\taskArtifacts.bin

dla zaktualizowanej wersji studia Android ścieżka jest następująca:

Project\.gradle\5.1.1\executionHistory\executionHistory.bin

Otwórz plik i wyszukaj część hasła, którą pamiętasz.

Przykład (będzie w tym pliku bin): signingConfig.keyAlias�"key name"�signingConfig.keyPassword�"key password"�signingConfig.storePassword�"Store Password"�

Możesz wyszukiwać za pomocą tego ciągu „signingConfig.storePassword” lub dowolnego ciągu podanego w przykładowym ciągu

Uwaga: doświadczyłem tego samego i jestem w stanie znaleźć to na powyższej ścieżce. W przypadku, gdy nie znalazłeś, możesz wyczyścić całą pamięć podręczną i pliki tymczasowe.



5

Po prostu otwórz plik klucza (plik .jks) za pomocą notepad ++. Otrzymasz nazwę aliasu w pierwszej linii ...


To nie wnosi nic nowego, Lucky Rana już to obejmuje.
Eduardo Hernández

5

Możesz znaleźć szczegóły swojego magazynu kluczy bez użycia hasła w następujący sposób.

Wykonaj polecenie ( keytool -list -keystore <path>) w wierszu polecenia

Możesz znaleźć Keytool w folderze java na moim komputerze, który mogłem znaleźć w następującej ścieżce

C:\Program Files (x86)\Java\jdk1.7.0_71\bin> keytool -list -keystore C:\<YourKeystore>.Keystore

Następnie poprosi Cię o wprowadzenie hasła, tutaj nie musisz wprowadzać hasła zamiast tego, naciśnij przycisk strzałki w górę i wprowadź je. wtedy te same szczegóły zostaną wyświetlone z ostrzeżeniem jak poniżej.

***************** OSTRZEŻENIE OSTRZEŻENIE OSTRZEŻENIE *****************

  • Integralność informacji przechowywanych w Twoim magazynie kluczy *

  • NIE został zweryfikowany! W celu weryfikacji jej integralności *

  • musisz podać hasło do magazynu kluczy. *

***************** OSTRZEŻENIE OSTRZEŻENIE OSTRZEŻENIE *****************

Typ magazynu kluczy: JKS Dostawca magazynu kluczy: SUN

Twój magazyn kluczy zawiera 1 wpis

samplekey, 26 kwietnia 2017 r., PrivateKeyEntry, Odcisk cyfrowy certyfikatu (SHA1): XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX: XX : XX: XX


Dzięki za pomoc. tak, jest napisane w górnej linii. możesz go po prostu otworzyć w notatniku
Mudasar

5

Po prostu otwórz plik App.jks w Notatniku, a znajdziesz tam nazwę Keystore i Alias ​​!!


1
Jest zaszyfrowany. Nie możesz czytać znaków po otwarciu w notatniku.
Abhinav Raja

Chociaż pozwala to dowiedzieć się, jaki jest twój alias, ponieważ alias pozostaje niezaszyfrowany w .jks, nie przybliża Cię do odkrycia utraconego hasła.
Evan Wieland,

1
Znaleziono alias, tak! I zapamiętane hasło.
eric

5

Jeśli korzystasz z systemu MacOS i zaznaczyłeś pole „zapisz hasło” w Android Studio, możesz odzyskać hasło z Keychain Access.

  1. Uruchom dostęp do pęku kluczy z aplikacji / narzędzi.
  2. Wybierz hasło w kategorii w lewym panelu.
  3. W prawym górnym rogu pola wyszukiwania wpisz nazwę aplikacji na Androida lub część nazwy aplikacji.
  4. Zobaczysz wiersz wyników, jeśli zapisałeś hasło.
  5. Kliknij go dwukrotnie, zaznacz pole wyboru pokaż hasło, podaj hasło systemowe, gdy zostaniesz o to poproszony, a wyświetli się hasło do magazynu kluczy.

5

Niestety powyższe rozwiązania nie są przyjazne dla początkujących.

Jego

keytool -list -v -keystore keystore_name.jks

1
Powyższe rozwiązanie zapewni Ci keyAlias ​​pod warunkiem, że pamiętasz hasło do magazynu kluczy.
shahil

1

Android Studio 3.0 poniżej metoda pracy:
Znajdź swój stary spakowany projekt.
Jeśli utworzyłeś apk, hasło znajdziesz w pliku:

Project\.gradle\2.14.1\taskArtifacts\taskArtifacts.bin

Pandroid.injected.signing.store.password = hasło

Jeśli nie masz spakowanego projektu, przeszukaj repozytoria git, jeśli masz przekazany folder .gradle, czy nie.
W przeciwnym razie będziesz musiał odzyskać pliki i przeszukiwać je według zawartości „Pandroid.injected.signing.store.password”.



0

W każdym razie pomylisz się ze swoim hasłem, możesz użyć hit i trial. Poprosi Cię o hasło, a jeśli to zrobi poprawnie, pokaże Ci listę.

  • Element listy

$ keytool -list -v -keystore nazwa_pliku



Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.