Podpisovač APK

Online podpisovač APK — Ako bezplatne podpísať súbory APK

Kompletná príručka Podpisovateľ súboru APK – naučte sa, ako podpísať súbory APK pomocou apksigneru, jarsigneru alebo ladenia úložiska kľúčov. Bezplatný krok za krokom Návod na podpisovanie APK pre vývojárov a testerov. Podpíšte súbor APK bez aplikácie Android Studio.

Prečo je potrebné podpísať súbory APK?

Každá aplikácia pre Android musí byť pred inštaláciou digitálne podpísaná. Podpis slúži na niekoľko účelov:

  • Overuje identitu vývojára aplikácie
  • Zabezpečuje, že súbor APK nebol sfalšovaný
  • Umožňuje systému Android porovnávať aktualizácie aplikácie s originálom
  • Vyžaduje sa na inštaláciu na všetkých zariadeniach so systémom Android

Vyžaduje sa nástroj na pracovnej ploche

Podpisovanie APK vyžaduje nástroje príkazového riadka (JDK / Android SDK). Toto nie je možné vykonať vo webovom prehliadači. Na podpísanie súborov APK na počítači postupujte podľa pokynov nižšie.

Metóda 1: Podpíšte sa pomocou apksigneru (odporúča sa)

apksigner je oficiálny nástroj na podpisovanie súborov APK od spoločnosti Google, ktorý je súčasťou nástrojov na zostavovanie súpravy Android SDK.

Krok 1: Vytvorte úložisko kľúčov

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

Krok 2: Podpíšte súbor APK

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

Krok 3: Overte podpis

apksigner verify --verbose signed-app.apk

Metóda 2: Podpíšte sa pomocou jarsigneru (staršie)

# 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 (Dôležité!)

Po podpísaní optimalizujte súbor APK pomocou zipalignu:

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

Podpisovanie ladenia (na testovanie)

Na testovacie účely môžete použiť predvolené úložisko kľúčov na ladenie systému Android:

# 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

Porovnanie podpisových nástrojov

Metrikaapksignerjarsigner
Podpis V1
Podpis V2
Podpis V3
OdporúčanéLegacy

Podpisovač APK — často kladené otázky

Bežné otázky týkajúce sa podpisovania súborov APK, úložísk kľúčov a podpisovania kódu systému Android

Na podpísať súbor APK potrebujete apksigner (odporúča sa) alebo jarsigner: (1) vygenerujte úložisko kľúčov pomocou keytool -genkey, (2) podpíšte súbor APK pomocou apksigner sign --ks my-key.jks --out signed.apk unsigned.apk, (3) overte podpis pomocou apksigner verify signed.apk. Na testovacie účely môžete použiť aj úložisko kľúčov na ladenie systému Android. Toto je štandardná cesta k podpísať APK bez Android Studio.

Aj keď nemôžete podpísať APK online bezpečne (pretože podpisovanie APK vyžaduje vaše súkromné ​​úložisko kľúčov, ktoré by sa nikdy nemalo nahrať na žiadny server), môžete použiť náš bezplatný Sprievodca podpisovateľom súboru APK na podpísanie súborov APK na vašom lokálnom počítači. Náš podrobný návod vás prevedie celým procesom pomocou oficiálnych nástrojov Google apksigner a jarsigner. Po podpísaní použite náš Overovač podpisu súboru APK na overenie podpisu online zadarmo.

V1 (podpis JAR): Pôvodná schéma podpisovania systému Android. Overí každý záznam ZIP jednotlivo. Pomalšie, ale široko kompatibilné so všetkými verziami systému Android. V2 (Schéma podpisu APK): Predstavené v systéme Android 7.0. Overuje celý súbor APK ako celok a poskytuje rýchlejšiu inštaláciu. V3 (Schéma podpisu APK v3): Android 9.0+, podporuje striedanie kľúčov. V4: Android 11.0+, umožňuje streamovanie inštalácií. Použite apksigner na podporu všetkých schém; jarsigner podporuje iba V1.

Ak chcete podpísať APK bez Android Studio: (1) Nainštalujte Java JDK 8 alebo novší, (2) Stiahnite si nástroje na zostavovanie súpravy Android SDK, ktoré zahŕňajú apksigner, alebo si stiahnite samostatný pribalený nástroj, (3) Vygenerujte úložisko kľúčov: keytool -genkey -v -keystore my-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias, (4) Podpis: apksigner sign --ks my-key.jks --out signed.apk app.apk. Táto metóda funguje v systémoch Windows, Mac a Linux bez potreby úplnej inštalácie Android Studio.

zipalign je nástroj Android SDK, ktorý zarovnáva nekomprimované údaje v rámci súboru APK na 4-bajtové hranice. Táto optimalizácia znižuje spotrebu pamäte RAM, keď je aplikácia spustená na zariadení. Dôležité: Ak používate apksigner, pred podpísaním spustite zipalign. Ak používate jarsigner (starý), spustite zipalign PO podpísaní. Príkaz: zipalign -v 4 input.apk output.apk. Google Play vyžaduje, aby boli súbory APK na odoslanie zarovnané do zipsu.

Prečo na poradí zarovnania (zipalign Before apksigner) záleží v systéme Android 11–15

Jednou z najčastejších chýb, ktoré vývojári a modifikátori robia pri podpisovaní upraveného alebo zlúčeného súboru APK, je spustenie zipalign po pri podpisovaní balíka – alebo použitie staršej pomôcky Java jarsigner namiesto súpravy Android SDK apksigner od Google. Pretože APK Signature Scheme v2 a v3 počítajú kryptografický hash pre celé binárne usporiadanie archívu ZIP, úprava bajtových posunov pomocou zipalign po podpísaní okamžite zruší platnosť bloku podpisov v2/v3.

Počnúc Androidom 11 (úroveň API 30) a prísne presadzovaným na Androide 14 a 15, PackageManager vyžaduje pre každý súbor APK zacielený na moderné úrovne SDK dve podmienky, o ktorých nemožno vyjednávať:

  • Nekomprimovaný 4-bajtový zarovnaný resources.arsc: Zostavená tabuľka zdrojov (resources.arsc) musí byť uložená nekomprimovaná (STORED) a zarovnaná na 4-bajtovej hranici, aby ju Android mohol mapovať do pamäte (mmap) priamo bez kopírovania do pamäte RAM. Vždy vykonajte podpisovanie zipalign -p -f -v 4 input.apk aligned.apk predtým.
  • Povinné blokovanie podpisu v2+: Podpísanie súboru APK zacieleného na API 30+ pomocou jarsigner (ktoré zapíše iba podpis v1 META-INF/) spôsobí, že Android 11–15 odmietne inštaláciu pomocou INSTALL_PARSE_FAILED_NO_CERTIFICATES. Pomocou vyššie uvedeného generátora interaktívnych príkazov vytvorte presný príkaz apksigner --v2-signing-enabled=true pre svoje úložisko kľúčov alebo overte svoj podpísaný výstup v našom Overovač podpisu súboru APK.
Navrhol a zdokumentoval Mst Shaefale Vedúci vývojár a architekt balíkov Android • Overené na Android 12–15

Každý nástroj v súprave nástrojov XAPK to APK beží 100% lokálne vo vašom prehliadači prostredníctvom JavaScriptu a WebAssembly. Našli ste puzdro edge s konkrétnym balením? Nahláste to nášmu technickému tímu.