Ten przewodnik jest przeznaczony dla programistów, którzy mają już aplikację w Sklepie Play. Jeśli rozpoczynasz nową aplikacją się proces o wiele łatwiej i można postępować zgodnie z wytycznymi pkt „Nowe aplikacje” z tutaj
Wymagania wstępne, które 99% programistów ma już :
Android Studio
JDK 8 i po instalacji musisz ustawić zmienną środowiskową w przestrzeni użytkownika, aby uprościć polecenia terminala. W Windows x64 musisz dodać to: C:\Program Files\Java\{JDK_VERSION}\bin
do Path
zmiennej środowiskowej. (Jeśli nie wiesz, jak to zrobić, przeczytaj mój przewodnik dotyczący dodawania folderu do Path
zmiennej środowiskowej systemu Windows 10 ).
Krok 0 : Otwórz konsolę programisty Google Play, a następnie przejdź do Zarządzanie wersjami -> Podpisywanie aplikacji .
Zaakceptuj Warunki podpisywania aplikacji.
Krok 1 : Pobierz narzędzie PEPK, klikając przycisk identyczny z obrazkiem poniżej
Krok 2 : Otwórz terminal i wpisz:
java -jar PATH_TO_PEPK --keystore = PATH_TO_KEYSTORE --alias = ALIAS_YOU_USE_TO_SIGN_APK --output = PATH_TO_OUTPUT_FILE --encryptionkey = GOOGLE_ENCRYPTION_KEY
Legenda:
- PATH_TO_PEPK = Ścieżka do pliku pepk.jar pobranego w kroku 1 może być podobna
C:\Users\YourName\Downloads\pepk.jar
do tej dla użytkowników systemu Windows.
- PATH_TO_KEYSTORE = Ścieżka do magazynu kluczy, którego używasz do podpisywania pakietu APK. Może to być plik typu * .keystore lub * .jks lub bez rozszerzenia. Coś jak
C:\Android\mykeystore
lub C:\Android\mykeystore.keystore
itp ...
- ALIAS_YOU_USE_TO_SIGN_APK = Nazwa aliasu, którego używasz do podpisywania wydanego pakietu APK.
- PATH_TO_OUTPUT_FILE = Ścieżka do pliku wyjściowego z rozszerzeniem .pem, na przykład
C:\Android\private_key.pem
- GOOGLE_ENCRYPTION_KEY = Ten klucz szyfrowania powinien być zawsze taki sam. Możesz go znaleźć na stronie podpisywania aplikacji, skopiować i wkleić. Powinien być w tej formie:
eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a
Przykład:
java -jar "C: \ Users \ YourName \ Downloads \ pepk.jar" --keystore = "C: \ Android \ mykeystore" --alias = myalias --output = "C: \ Android \ private_key.pem" - encryptionkey = eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb8b8b9656cd48a
Naciśnij Enter, a będziesz musiał podać w kolejności:
- Hasło magazynu kluczy
- Hasło aliasu
Jeśli wszystko poszło dobrze, będziesz mieć teraz plik w folderze PATH_TO_OUTPUT_FILE o nazwie private_key.pem
.
Krok 3 : Prześlij plik private_key.pem, klikając przycisk identyczny z obrazkiem poniżej
Krok 4 : Utwórz nowy plik kluczy za pomocą Android Studio.
POTRZEBUJESZ TEGO SKLEPU KLUCZY W PRZYSZŁOŚCI, ABY PODPISOWAĆ KOLEJNE WYDANIA TWOJEJ APLIKACJI, NIE ZAPOMNIJ HASŁA
Otwórz jeden ze swoich projektów Androida (wybierz jeden losowo). Idź do Build -> Generate Signed APK i naciśnij Create new .
Teraz powinieneś wypełnić wymagane pola.
Ścieżka magazynu kluczy reprezentuje nowy magazyn kluczy, który utworzysz, wybierz folder i nazwę za pomocą ikony z 3 kropkami po prawej stronie, którą wybrałem C:\Android\upload_key.jks
(rozszerzenie .jks zostanie dodane automatycznie)
UWAGA: Użyłem upload
jako nowej nazwy aliasu, ale jeśli poprzednio używałeś tego samego magazynu kluczy z różnymi aliasami do podpisywania różnych aplikacji, powinieneś wybrać tę samą nazwę aliasu, którą miałeś wcześniej w oryginalnym magazynie kluczy.
Po zakończeniu naciśnij OK, a teraz będziesz mieć nowy upload_key.jks
magazyn kluczy. Możesz teraz zamknąć Android Studio.
Krok 5 : Musimy wyodrębnić certyfikat przesyłania z nowo utworzonego upload_key.jks
magazynu kluczy. Otwórz terminal i wpisz:
keytool -export -rfc -keystore UPLOAD_KEYSTORE_PATH -alias UPLOAD_KEYSTORE_ALIAS -file PATH_TO_OUTPUT_FILE
Legenda:
- UPLOAD_KEYSTORE_PATH = Ścieżka utworzonego magazynu kluczy przesyłania. W tym przypadku był
C:\Android\upload_key.jks
.
- UPLOAD_KEYSTORE_ALIAS = Nowy alias powiązany z magazynem kluczy przesyłania. W tym przypadku był
upload
.
- PATH_TO_OUTPUT_FILE = Ścieżka do pliku wyjściowego z rozszerzeniem .pem. Coś jak
C:\Android\upload_key_public_certificate.pem
.
Przykład:
keytool -export -rfc -keystore "C: \ Android \ upload_key.jks" -alias upload -file "C: \ Android \ upload_key_public_certificate.pem"
Naciśnij klawisz Enter, aby podać hasło do magazynu kluczy.
Teraz, jeśli wszystko poszło dobrze, będziesz mieć plik w folderze PATH_TO_OUTPUT_FILE o nazwie upload_key_public_certificate.pem
.
Krok 6 : Prześlij upload_key_public_certificate.pem
plik, klikając przycisk identyczny z obrazkiem poniżej
Krok 7 : Kliknij przycisk ZAREJESTRUJ SIĘ na końcu strony Podpisywanie aplikacji.
Teraz każdy nowy pakiet APK musi być podpisany przy użyciu upload_key.jks
magazynu kluczy i aliasów utworzonych w kroku 4 , zanim zostanie przesłany do konsoli programisty Google Play.
Więcej zasobów:
Pytania i odpowiedzi
P: Kiedy przesyłam plik APK podpisany przy użyciu nowego magazynu kluczy upload_key, Google Play wyświetla błąd, taki jak: Przesłałeś niepodpisany plik APK. Musisz utworzyć podpisany plik APK .
Odp .: Zaznacz, aby podpisać pakiet APK oboma podpisami (V1 i V2) podczas tworzenia wersji APK. Więcej informacji znajdziesz tutaj .
AKTUALIZACJA
Krok 4,5,6 to utworzenie klucza przesyłania, który jest opcjonalny dla istniejących aplikacji
„Klucz przesyłania (opcjonalny w przypadku istniejących aplikacji): nowy klucz, który generujesz podczas rejestracji w programie. Klucz przesyłania służy do podpisywania wszystkich przyszłych plików APK przed przesłaniem ich do Konsoli Play”.
https://support.google.com/googleplay/android-developer/answer/7384423
"C:\My Path\MyName"
ale nie, jeśli ścieżka jestC:\MyPath\MyName
. Przy okazji dziękuję :)Step 4
w przewodniku: DIstnieje znacznie prostsze rozwiązanie, które zajmie chwilę.
Gotowe!
Teraz możesz przesłać swoje wydanie, które wygenerowałeś wcześniej :) Powodzenia!
źródło
Podczas migracji pliku pakietu aplikacji na Androida (APK) do pakietu aplikacji na Androida (AAB), publikując aplikację w Sklepie Play napotkałem ten problem i został rozwiązany w następujący sposób ...
Podczas budowania
.aab
pliku zostanie wyświetlony monit o podanie lokalizacji przechowywania ścieżki eksportu klucza, jak poniżej:Na drugim obrazie znajduje się ścieżka eksportu zaszyfrowanego klucza Lokalizacja, w której nasz plik .pepk będzie przechowywany w określonym folderze podczas generowania pliku .aab.
Po zalogowaniu się do Konsoli Google Play przy użyciu danych logowania do sklepu Play: wybierz projekt z lewej strony wybierz opcję Podpisywanie aplikacji Zarządzanie wersjami >> Podpisywanie aplikacji
znajdziesz okno Certyfikacji podpisywania aplikacji Google ZAAKCEPTUJ to.
Następnie znajdziesz trzy przyciski opcji wybierz **
**, spowoduje to rozwinięcie przycisku PRIVATE KEY PODPISANIE APLIKACJI, jak poniżej
kliknij na przycisk i wybierz
.pepk
plik (Zapisaliśmy podczas generowania.aab
pliku jak wyżej)Przeczytaj wszystkie inne opcje i prześlij.
Po pomyślnym zakończeniu możesz wrócić do wersji aplikacji, przeglądać plik .aab i dokończyć RollOut ...
@Ambilpura
źródło
Musiałem wykonać następujące czynności:
2.Przejdź do wersji aplikacji -> Zarządzaj produkcją -> Utwórz wersję
3. Kliknij Kontynuuj w Google Play App Signing
4. Utwórz certyfikat przesyłania, uruchamiając polecenie „keytool -genkey -v -keystore c: \ path \ to \ cert.keystore -alias uploadKey -keyalg RSA -keysize 2048 -validity 10000”
5. Podpisz swój apk wygenerowanym certyfikatem (c: \ ścieżka \ do \ cert.keystore)
6. Prześlij podpisany apk w wersjach aplikacji -> Zarządzaj produkcją -> Edytuj wersję
7.Poprzez przesłanie apk certyfikat wygenerowany w kroku 4 został dodany do certyfikatów podpisywania aplikacji i stał się certyfikatem podpisywania dla wszystkich przyszłych kompilacji.
źródło
Gdy używasz Fabric do publicznych wydań beta (podpisanych za pomocą konfiguracji prod), NIE UŻYWAJ podpisywania aplikacji Google Play. Będziesz musiał po zbudowaniu dwóch podpisanych apek!
Podczas dystrybucji do większej liczby sklepów Play (Samsung, Amazon, Xiaomi, ...) będziesz musiał ponownie zbudować dwa podpisane apki.
Dlatego zachowaj ostrożność przy podpisywaniu aplikacji Google Play.
Nie można go cofnąć: / a Google Play nie zaakceptował apek podpisanych kluczem produkcyjnym. Po włączeniu podpisywania aplikacji Google Play akceptowany jest tylko klucz przesyłania ...
To naprawdę komplikuje dystrybucję CI ...
Kolejne problemy z aktualizacją: https://issuetracker.google.com/issues/69285256
źródło
DON'T USE
Komentarze pisane grubą czcionką są niebezpieczne. Czy możesz szczegółowo wyjaśnić problem i zalecane rozwiązanie? Czy w ogóle nie ma rozwiązania? Czy tak trudno jest dwukrotnie podpisać pakiet APK dla Fabric?Wykonaj następujące czynności:
źródło