Osoba podpisująca APK

Podpisywanie plików APK online — jak bezpłatnie podpisywać pliki APK

Kompletny przewodnik po Osoba podpisująca APK — dowiedz się, jak podpisz pliki APK używać apksigner, jarsigner lub debugowania magazynu kluczy. Bezpłatny Samouczek podpisywania plików APK krok po kroku dla programistów i testerów. Podpisz APK bez Android Studio.

Dlaczego pliki APK muszą być podpisane?

Każda aplikacja na Androida musi zostać podpisana cyfrowo, zanim będzie można ją zainstalować. Podpis służy kilku celom:

  • Weryfikuje tożsamość twórcy aplikacji
  • Zapewnia, że ​​plik APK nie został naruszony
  • Umożliwia Androidowi dopasowywanie aktualizacji aplikacji do oryginału
  • Wymagane do instalacji na wszystkich urządzeniach z Androidem

Wymagane narzędzie komputerowe

Podpisywanie plików APK wymaga narzędzi wiersza poleceń (JDK / Android SDK). Nie można tego zrobić w przeglądarce internetowej. Postępuj zgodnie z poniższym przewodnikiem, aby podpisać pliki APK na swoim komputerze.

Metoda 1: Podpisz za pomocą apksigner (zalecane)

apksigner to oficjalne narzędzie Google do podpisywania plików APK, zawarte w narzędziach do tworzenia zestawu SDK systemu Android.

Krok 1: Wygeneruj magazyn kluczy

keytool -genkey -v -keystore my-release-key.jks \
  -keyalg RSA -keysize 2048 -validity 10000 \
  -alias my-key-alias

Krok 2: Podpisz plik APK

apksigner sign --ks my-release-key.jks \
  --ks-key-alias my-key-alias \
  --out signed-app.apk unsigned-app.apk

Krok 3: Zweryfikuj podpis

apksigner verify --verbose signed-app.apk

Metoda 2: Podpisz za pomocą jarsignera (starsza wersja)

# Sign
jarsigner -verbose -sigalg SHA256withRSA \
  -digestalg SHA-256 \
  -keystore my-release-key.jks \
  app-unsigned.apk my-key-alias

# Verify
jarsigner -verify -verbose app-signed.apk

Krok 4: Zipalign (ważne!)

Po podpisaniu zoptymalizuj plik APK za pomocą zipalign:

zipalign -v 4 signed-app.apk aligned-app.apk

Podpisywanie debugowania (do testowania)

Do celów testowych możesz użyć domyślnego magazynu kluczy debugowania Androida:

# Location of debug keystore:
# Linux/Mac: ~/.android/debug.keystore
# Windows: C:\Users\{USERNAME}\.android\debug.keystore

# Sign with debug key
apksigner sign --ks ~/.android/debug.keystore \
  --ks-key-alias androiddebugkey \
  --ks-pass pass:android \
  app.apk

Porównanie narzędzi do podpisywania

Parametrapksignerjarsigner
Podpis V1
Podpis V2
Podpis V3
ZaleconyDziedzictwo

Osoba podpisująca APK — często zadawane pytania

Często zadawane pytania dotyczące podpisywania plików APK, magazynów kluczy i podpisywania kodu Androida

Do podpisz plik APK potrzebujesz apksigner (zalecane) lub jarsigner: (1) Wygeneruj magazyn kluczy za pomocą keytool -genkey, (2) Podpisz plik APK za pomocą apksigner sign --ks my-key.jks --out signed.apk unsigned.apk, (3) Zweryfikuj podpis za pomocą apksigner verify signed.apk. Możesz także użyć magazynu kluczy debugowania Androida do celów testowych. Jest to standardowy sposób na podpisz APK bez Android Studio.

Chociaż nie możesz bezpiecznie podpisz APK online (ponieważ podpisywanie plików APK wymaga prywatnego magazynu kluczy, którego nigdy nie należy przesyłać na żaden serwer), możesz skorzystać z naszego bezpłatnego Przewodnik dla osób podpisujących pliki APK do podpisywania plików APK na komputerze lokalnym. Nasz samouczek krok po kroku przeprowadzi Cię przez cały proces, korzystając z oficjalnych narzędzi Google do apksigner i jarsigner. Po podpisaniu skorzystaj z naszego Weryfikator podpisu APK, aby bezpłatnie zweryfikować podpis online.

V1 (podpisywanie JAR): Oryginalny schemat podpisywania Androida. Sprawdza każdy wpis ZIP indywidualnie. Wolniejszy, ale szeroko kompatybilny ze wszystkimi wersjami Androida. V2 (schemat podpisu APK): wprowadzony w systemie Android 7.0. Weryfikuje cały plik APK jako całość, zapewniając szybszą instalację. V3 (Schemat podpisu APK v3): Android 9.0+, obsługuje rotację klawiszy. V4: Android 11.0 lub nowszy umożliwia instalację strumieniową. Użyj apksigner do obsługi wszystkich schematów; jarsigner obsługuje tylko wersję 1.

Do podpisz APK bez Android Studio: (1) zainstaluj Java JDK 8 lub nowszą wersję, (2) pobierz narzędzia do tworzenia zestawu SDK systemu Android zawierające aplikację apksigner lub pobierz samodzielne narzędzie w pakiecie, (3) wygeneruj magazyn kluczy: keytool -genkey -v -keystore my-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias, (4) znak: apksigner sign --ks my-key.jks --out signed.apk app.apk. Ta metoda działa w systemach Windows, Mac i Linux bez konieczności pełnej instalacji Android Studio.

zipalign to narzędzie SDK dla systemu Android, które wyrównuje nieskompresowane dane w pliku APK w granicach 4-bajtowych. Ta optymalizacja zmniejsza zużycie pamięci RAM, gdy aplikacja działa na urządzeniu. Ważny: Jeśli używasz apksigner, uruchom zipalign PRZED podpisaniem. Jeśli używasz jarsigner (starsza wersja), uruchom zipalign PO podpisaniu. Polecenie: zipalign -v 4 input.apk output.apk. Google Play wymaga spakowania plików APK w celu przesłania.

Dlaczego kolejność wyrównania (zipalign przed apksigner) ma znaczenie w systemie Android 11–15

Jednym z najczęstszych błędów popełnianych przez programistów i modderów podczas podpisywania zmodyfikowanego lub scalonego pakietu APK jest uruchomienie zipalign Po do podpisania pakietu — lub użycie starszego narzędzia Java jarsigner zamiast pakietu SDK Android SDK apksigner firmy Google. Ponieważ schemat podpisu APK v2 i v3 oblicza skrót kryptograficzny w całym układzie binarnym archiwum ZIP, modyfikowanie przesunięć bajtów za pomocą zipalign po podpisaniu natychmiast unieważnia blok podpisu v2/v3.

Począwszy od Androida 11 (poziom API 30) i ściśle egzekwowany w Androidzie 14 i 15, PackageManager wymaga dwóch niepodlegających negocjacjom warunków dla każdego pakietu APK przeznaczonego dla nowoczesnych poziomów SDK:

  • Nieskompresowany, wyrównany 4-bajtowy resources.arsc: Skompilowana tabela zasobów (resources.arsc) musi być przechowywana w postaci nieskompresowanej (STORED) i wyrównana do 4-bajtowej granicy, aby system Android mógł zmapować ją w pamięci (mmap) bezpośrednio, bez kopiowania do pamięci RAM. Zawsze wykonuj podpisywanie zipalign -p -f -v 4 input.apk aligned.apk zanim.
  • Obowiązkowy blok podpisu v2+: Podpisanie pliku APK przeznaczonego dla API 30+ za pomocą jarsigner (który zapisuje tylko podpis v1 META-INF/) spowoduje, że Android 11–15 odrzuci instalację za pomocą INSTALL_PARSE_FAILED_NO_CERTIFICATES. Skorzystaj z powyższego interaktywnego generatora poleceń, aby zbudować dokładną komendę apksigner --v2-signing-enabled=true dla swojego magazynu kluczy lub zweryfikuj podpisane dane wyjściowe w naszym Weryfikator podpisu APK.
Zaprojektowane i udokumentowane przez Mst Shaefale Główny programista i architekt pakietów dla Androida • Zweryfikowano na Androidzie 12–15

Każde narzędzie w zestawie narzędzi XAPKS do APK działa w 100% lokalnie w przeglądarce za pośrednictwem JavaScript i WebAssembly. Znalazłeś obudowę Edge z określonym pakietem? Zgłoś to naszemu zespołowi inżynieryjnemu.