Muszę wgrać nową aplikację, to tylko trochę inny projekt. Wczoraj wygenerowałem plik kluczy do podpisywania aplikacji. Czy mogę użyć tego samego?
android
android-keystore
Raluca Lucaci
źródło
źródło
Odpowiedzi:
Możesz tego użyć
keystore
do dowolnej liczby aplikacji.Nie ma potrzeby generowania nowego magazynu kluczy.
źródło
Przedstawię jak dotąd kontrargument do zgodnej odpowiedzi.
Zgadzam się, że dla większości autorów aplikacji przez większość czasu udostępnianie tego samego magazynu kluczy / certyfikatu / hasła między aplikacjami będzie działało dobrze. Najważniejsze jest używanie „ tego samego certyfikatu przez cały oczekiwany okres użytkowania aplikacji ”, aby aplikacja mogła się uaktualniać.
Ale przychodzi mi do głowy jeden bardzo dobry powód, aby mieć oddzielne magazyny kluczy dla oddzielnych aplikacji lub rodzin aplikacji. Jeśli myślisz, że kiedykolwiek będziesz chciał sprzedać aplikację komuś innemu, aby mógł ją opublikować jako uaktualnienie do oryginału, musisz udostępnić jej jedyny magazyn kluczy i hasło, aby to zrobić. Prawdopodobnie nie jest to duży problem, ale trochę zmartwienia dla ciebie i być może kwestia należytej staranności dla wystarczająco dużego nabywcy.
Poza tym naprawdę nie czytam tej samej linii w dokumentacji w taki sam sposób, jak robi to @ol_v_er. Myślę, że obecna linia:
(zwróć uwagę na brak przecinka w aktualnej wersji) po prostu podkreśla, że zalecenie „dożywotnia” dotyczy wszystkich aplikacji, a nie kieruje w rzeczywistości do używania tego samego certyfikatu dla wszystkich aplikacji.
źródło
Oficjalna dokumentacja mówi nam:
https://developer.android.com/studio/publish/app-signing.html#considerations
Więc tak, spróbuj podpisać wszystkie swoje aplikacje tym samym certyfikatem.
źródło
Chcę tutaj dodać wyjaśnienie, ponieważ to pytanie i udzielone odpowiedzi wprowadzają mnie w zakłopotanie. Ważne jest, aby zrozumieć, czym właściwie jest magazyn kluczy.
Magazyn kluczy to tylko sposób na bezpieczne przechowywanie pary kluczy publiczny / prywatny, która jest używana do podpisywania aplikacji na Androida. Więc tak, możesz bez problemu używać tego samego magazynu kluczy do podpisywania wielu aplikacji. Możesz także użyć tego samego aliasu (każdy alias jest certyfikatem) do podpisania wielu apek i to zadziała. Ma to jednak wpływ na bezpieczeństwo. Jeśli Twój pojedynczy alias zostanie przejęty, wszystkie Twoje aplikacje zostaną przejęte.
Jeśli jednak zamierzasz pewnego dnia sprzedać prawa do swoich aplikacji, używanie tego samego aliasu do wszystkich aplikacji może nie być dobrym pomysłem. Jednak użycie tego samego magazynu kluczy, pod warunkiem, że używasz innego aliasu dla każdego apk, niekoniecznie musi być złą opcją. Jestem pewien, że istnieje sposób na przeniesienie certyfikatu z jednego magazynu kluczy do drugiego, tak aby można było bezpiecznie przekazać kupującemu klucze niezbędne tylko do tego certyfikatu.
Aby było jasne, magazyn kluczy jest właśnie tym, nośnikiem przechowywania kluczy. Nie odgrywa żadnej rzeczywistej roli w procesie podpisywania apk, ale służy tylko do przechowywania kluczy, które są faktycznie używane do podpisywania apk.
Bibliografia:
Zrozumienie magazynu kluczy, certyfikatów i aliasów
https://www.digitalocean.com/community/tutorials/java-keytool-essentials-working-with-java-keystores
źródło
Oczywiście! Możesz używać tego samego pliku kluczy tyle razy, ile chcesz. Zawsze lepiej jest używać tego samego pliku kluczy dla wszystkich tworzonych aplikacji. To pomoże, jeśli chcesz zaktualizować lub zmodyfikować aplikację. Wówczas musisz podpisać swoją aplikację tym samym kluczem.
źródło
Podpisuję wszystkie moje aplikacje przy użyciu tego samego certyfikatu (magazynu kluczy). Daje to korzyść, jeśli zmienię zdanie i chcę, aby moje aplikacje udostępniały swoje dane.
Jak być może wiesz, Android identyfikuje każdą aplikację za pomocą identyfikatora UID. Jeśli wszystkie Twoje aplikacje są podpisane tym samym certyfikatem, możesz poprosić Androida o przypisanie tego samego identyfikatora użytkownika do więcej niż jednej aplikacji, a następnie uruchomienie ich w jednym procesie i udostępnianie danych.
Z android doc android: sharedUserId
źródło
Ostatnia aktualizacja
Jeśli chcesz zarejestrować się w podpisywaniu aplikacji przez Google , musisz użyć nowego innego klucza do podpisania swojego apk lub pakietu, w przeciwnym razie po przesłaniu konsoli Google wyświetli się komunikat o błędzie:
źródło