Semnat APK

Semnatar APK Online — Cum să semnați fișierele APK gratuit

Ghid complet pentru Semnat APK — aflați cum să semnați fișierele APK utilizând apksigner, jarsigner sau debug keystore. Tutorial de semnare APK pas cu pas gratuit pentru dezvoltatori și testeri. Semnează APK fără Android Studio.

De ce trebuie să fie semnate fișierele APK?

Fiecare aplicație Android trebuie să fie semnată digital înainte de a putea fi instalată. Semnătura are mai multe scopuri:

  • Verifică identitatea dezvoltatorului aplicației
  • Se asigură că APK-ul nu a fost modificat
  • Permite Android să potrivească actualizările aplicației cu cele originale
  • Necesar pentru instalare pe toate dispozitivele Android

Instrumentul desktop este necesar

Semnarea APK necesită instrumente de linie de comandă (JDK / Android SDK). Acest lucru nu se poate face într-un browser web. Urmați ghidul de mai jos pentru a semna APK-uri pe computer.

Metoda 1: semnați cu apksigner (recomandat)

apksigner este instrumentul oficial de semnare APK de la Google, inclus în Android SDK Build Tools.

Pasul 1: Generați un depozit de chei

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

Pasul 2: semnați APK-ul

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

Pasul 3: Verificați semnătura

apksigner verify --verbose signed-app.apk

Metoda 2: semnați cu jarsigner (moștenire)

# 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

Pasul 4: Zipalign (Important!)

După semnare, optimizați APK-ul cu zipalign:

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

Semnarea de depanare (pentru testare)

În scopuri de testare, puteți utiliza magazinul de chei implicit de depanare 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

Comparația instrumentelor de semnare

Metricăapksignerjarsigner
Semnătura V1
Semnătura V2
Semnătura V3
RecomandatMoştenire

APK Signer — Întrebări frecvente

Întrebări frecvente despre semnarea APK-urilor, depozitele de chei și semnarea codurilor Android

Pentru semnați un fișier APK, aveți nevoie de apksigner (recomandat) sau jarsigner: (1) Generați un depozit de chei folosind keytool -genkey, (2) Semnați APK-ul cu apksigner sign --ks my-key.jks --out signed.apk unsigned.apk, (3) Verificați semnătura cu apksigner verify signed.apk. De asemenea, puteți utiliza magazinul de chei de depanare Android în scopuri de testare. Aceasta este calea standard către semnează APK fără Android Studio.

Deși nu puteți semnează APK-ul online în siguranță (deoarece semnarea APK-ului necesită depozitul de chei private care nu ar trebui să fie încărcat niciodată pe niciun server), puteți utiliza Ghid pentru semnatari APK gratuit pentru a semna fișiere APK pe computerul dvs. local. Tutorialul nostru pas cu pas vă ghidează prin întregul proces folosind instrumentele oficiale apksigner și jarsigner de la Google. După semnare, utilizați Verificator de semnătură APK pentru a verifica gratuit semnătura online.

V1 (semnare JAR): Schema originală de semnare Android. Verifică fiecare intrare ZIP individual. Mai lent, dar compatibil pe scară largă cu toate versiunile Android. V2 (Schema de semnătură APK): Introdus în Android 7.0. Verifică întregul APK ca întreg, oferind o instalare mai rapidă. V3 (Schema de semnătură APK v3): Android 9.0+, acceptă rotația tastelor. V4: Android 11.0+, permite instalările în flux. Utilizați apksigner pentru a susține toate schemele; jarsigner acceptă doar V1.

Pentru semnează APK fără Android Studio: (1) Instalați Java JDK 8 sau o versiune ulterioară, (2) Descărcați Android SDK Build Tools care include apksigner sau descărcați instrumentul autonom inclus, (3) Generați un depozit de chei: keytool -genkey -v -keystore my-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias, (4) Semn: apksigner sign --ks my-key.jks --out signed.apk app.apk. Această metodă funcționează pe Windows, Mac și Linux fără a necesita instalarea completă a Android Studio.

zipalign este un instrument Android SDK care aliniază datele necomprimate din APK pe limite de 4 octeți. Această optimizare reduce consumul de memorie RAM atunci când aplicația rulează pe un dispozitiv. Important: Dacă utilizați apksigner, rulați zipalign ÎNAINTE de a semna. Dacă utilizați jarsigner (moștenire), rulați zipalign DUPĂ semnare. Comanda: zipalign -v 4 input.apk output.apk. Google Play necesită ca fișierele APK să fie aliniate pentru trimitere.

De ce este importantă comanda de aliniere (zipalign înainte de apksigner) pe Android 11–15

Una dintre cele mai frecvente greșeli pe care dezvoltatorii și modificatorii le fac atunci când semnează un APK modificat sau îmbinat este să ruleze zipalign după să semneze pachetul sau să folosească utilitarul moștenit jarsigner de la Java în loc de SDK Android apksigner de la Google. Deoarece APK Signature Scheme v2 și v3 calculează un hash criptografic pe întregul aspect binar al arhivei ZIP, modificarea decalajelor de octeți cu zipalign după semnare invalidează imediat blocul de semnătură v2/v3.

Începând cu Android 11 (nivel API 30) și aplicat strict pe Android 14 și 15, PackageManager necesită două condiții nenegociabile pentru orice APK care vizează nivelurile SDK moderne:

  • resources.arsc aliniat pe 4 octeți necomprimat: Tabelul de resurse compilat (resources.arsc) trebuie să fie stocat necomprimat (STORED) și aliniat pe o limită de 4 octeți, astfel încât Android să îl poată mapa în memorie (mmap) direct fără a-l copia în RAM. Executați întotdeauna semnarea zipalign -p -f -v 4 input.apk aligned.apk înainte.
  • Bloc de semnătură obligatoriu v2+: Semnarea unui APK care vizează API 30+ cu jarsigner (care scrie doar o semnătură META-INF/ v1) va determina Android 11–15 să respingă instalarea cu INSTALL_PARSE_FAILED_NO_CERTIFICATES. Utilizați generatorul de comenzi interactiv de mai sus pentru a crea comanda exactă apksigner --v2-signing-enabled=true pentru depozitul de chei sau verificați rezultatul semnat în Verificator de semnătură APK.
Proiectat și documentat de doamna Shaefale Dezvoltator principal și arhitect pachet Android • Verificat pe Android 12–15

Fiecare utilitar din setul de instrumente XAPKS în APK rulează 100% local în browserul dvs. prin JavaScript și WebAssembly. Ați găsit o carcasă de margine cu un pachet specific? Raportați-o echipei noastre de ingineri.