Czym jest podpis aplikacji na Androida i jak go używać?
1. Do czego służy podpis i jak weryfikuje go Android?
System Android używa podpisu do identyfikacji wydawcy oraz do bezpiecznej weryfikacji aktualizacji:- Instalacja: Android sprawdza, czy plik jest w ogóle podpisany – niepodpisanej aplikacji system domyślnie nie pozwoli zainstalować.
- Aktualizacja: Jeśli instalujesz nowszą wersję aplikacji na istniejącą, Android porównuje ich odciski cyfrowe (np. hash SHA-256).
- Ten sam podpis? Aktualizacja przebiega gładko, a dane użytkownika zostają zachowane.
- Inny podpis? System zablokuje instalację ze względów bezpieczeństwa (ochrona przed podszywaniem się pod Twoją aplikację przez obce osoby).
2. Wersja Debug vs. Wersja Release
W procesie tworzenia aplikacji spotkasz dwa rodzaje podpisów:| Cecha | Wersja Debug | Wersja Release |
|---|---|---|
| Przeznaczenie | Do testów na własnym telefonie/emulatorze. | Oficjalna wersja dla użytkowników i do sklepów. |
| Jak powstaje? | Generowany automatycznie przez Android Studio (debug.keystore). |
Wymaga Twojego własnego, prywatnego klucza (.jks). |
| Hasło | Domyślne, uniwersalne dla każdego dewelopera. | Tajne, znane tylko Tobie. |
3. Jak stworzyć własny podpis (.jks) i co w nim uwzględnić?
Własny plik klucza (tzw. Keystore) generujesz raz w życiu – w Android Studio (Build -> Generate Signed Bundle / APK) lub osobnym programem do podpisywania.
Co zawiera Twój podpis?
Podczas tworzenia podajesz formularz danych:- Nazwa pliku i Alias: Nazwa Twojego magazynu kluczy (np.
release.jks) oraz unikalna nazwa samego klucza wewnątrz pliku. - Hasła: Hasło do magazynu oraz osobne hasło do konkretnego klucza.
- Ważność (Validity): Okres ważności w latach – zaleca się ustawić minimum 25-30 lat (aby klucz nie wygasł w trakcie życia aplikacji).
- Dane właściciela (Certificate): Twoje imię i nazwisko / nazwa firmy, organizacja, miasto i kod kraju (np.
PL).
.jks oraz Twoje hasła musisz przechowywać w bezpiecznym miejscu (np. w chmurze/kopii zapasowej). Jeśli zgubisz plik podpisu, nigdy więcej nie wypuścisz aktualizacji dla swoich użytkowników!
Podsumowanie procesu w skrócie
- Piszesz kod ➜ Android Studio używa klucza Debug do szybkich testów.
- Kończysz projekt ➜ Kompilujesz wersję Release.
- Podpisujesz ➜ Nakładasz swój prywatny plik
.jks(w Android Studio lub zewnętrznym programem typu APK Tool). - Udostępniasz ➜ Android weryfikuje Twój klucz SHA-256 i pozwala na bezpieczną instalację oraz przyszłe aktualizacje.
