Firmatario dell'APK

Firmatario APK online: come firmare file APK gratuitamente

Guida completa Firmatario dell'APK: scopri come utilizzare firmare i file APK utilizzando apksigner, jarsigner o il keystore di debug. Tutorial sulla firma dell'APK passo dopo passo gratuito per sviluppatori e tester. Firma APK senza Android Studio.

Perché i file APK devono essere firmati?

Ogni app Android deve essere firmata digitalmente prima di poter essere installata. La firma ha diversi scopi:

  • Verifica l'identità dello sviluppatore dell'app
  • Garantisce che l'APK non sia stato manomesso
  • Consente ad Android di abbinare gli aggiornamenti dell'app all'originale
  • Necessario per l'installazione su tutti i dispositivi Android

Strumento desktop obbligatorio

La firma dell'APK richiede strumenti da riga di comando (JDK/SDK Android). Questa operazione non può essere eseguita in un browser Web. Segui la guida qui sotto per firmare gli APK sul tuo computer.

Metodo 1: firma con apksigner (consigliato)

apksigner è lo strumento di firma APK ufficiale di Google, incluso in Android SDK Build Tools.

Passaggio 1: generare un archivio chiavi

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

Passaggio 2: firma l'APK

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

Passaggio 3: verifica la firma

apksigner verify --verbose signed-app.apk

Metodo 2: firma con jarsigner (legacy)

# 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

Passaggio 4: Zipalign (importante!)

Dopo aver firmato, ottimizza l'APK con zipalign:

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

Firma di debug (per test)

A scopo di test, puoi utilizzare il keystore di debug Android predefinito:

# 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

Confronto degli strumenti di firma

Metricaapksignerjarsigner
Firma V1
Firma V2
Firma V3
RaccomandatoEredità

Firmatario APK: domande frequenti

Domande comuni sulla firma APK, sugli archivi chiavi e sulla firma del codice Android

Per firmare un file APK, è necessario apksigner (consigliato) o jarsigner: (1) Genera un archivio chiavi utilizzando keytool -genkey, (2) Firma l'APK con apksigner sign --ks my-key.jks --out signed.apk unsigned.apk, (3) Verifica la firma con apksigner verify signed.apk. Puoi anche utilizzare l'archivio chiavi di debug Android a scopo di test. Questo è il modo standard per firmare l'APK senza Android Studio.

Anche se non puoi firmare l'APK online in modo sicuro (perché la firma APK richiede il tuo archivio di chiavi privato che non dovrebbe mai essere caricato su nessun server), puoi utilizzare il nostro Guida per i firmatari dell'APK gratuito per firmare i file APK sul tuo computer locale. Il nostro tutorial passo passo ti guida attraverso l'intero processo utilizzando gli strumenti apksigner e jarsigner ufficiali di Google. Dopo aver firmato, utilizza il nostro Verificatore firma APK per verificare la firma online gratuitamente.

V1 (Firma JAR): Lo schema di firma Android originale. Verifica ciascuna voce ZIP individualmente. Più lento ma ampiamente compatibile con tutte le versioni di Android. V2 (schema di firma APK): Introdotto in Android 7.0. Verifica l'intero APK nel suo insieme, fornendo un'installazione più rapida. V3 (schema di firma APK v3): Android 9.0+, supporta la rotazione delle chiavi. V4: Android 11.0+, consente installazioni in streaming. Utilizza apksigner per supportare tutti gli schemi; jarsigner supporta solo V1.

A firmare l'APK senza Android Studio: (1) Installa Java JDK 8 o versione successiva, (2) Scarica gli strumenti di creazione dell'SDK Android che includono apksigner o scarica lo strumento in bundle autonomo, (3) Genera un archivio chiavi: keytool -genkey -v -keystore my-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias, (4) Firma: apksigner sign --ks my-key.jks --out signed.apk app.apk. Questo metodo funziona su Windows, Mac e Linux senza richiedere l'installazione completa di Android Studio.

zipalign è uno strumento SDK Android che allinea i dati non compressi all'interno dell'APK su limiti di 4 byte. Questa ottimizzazione riduce il consumo di RAM quando l'app viene eseguita su un dispositivo. Importante: Se utilizzi apksigner, esegui zipalign PRIMA di firmare. Se utilizzi jarsigner (legacy), esegui zipalign DOPO la firma. Comando: zipalign -v 4 input.apk output.apk. Google Play richiede che gli APK siano allineati con zip per l'invio.

Perché l'ordine di allineamento (zipalign prima di apksigner) è importante su Android 11-15

Uno degli errori più frequenti commessi da sviluppatori e modder quando firmano un APK modificato o unito è eseguire zipalign Dopo firmando il pacchetto o utilizzare l'utilità jarsigner legacy di Java invece dell'SDK Android apksigner di Google. Poiché APK Signature Scheme v2 e v3 calcolano un hash crittografico sull'intero layout binario dell'archivio ZIP, la modifica degli offset dei byte con zipalign dopo la firma invalida immediatamente il blocco della firma v2/v3.

A partire da Android 11 (livello API 30) e applicato rigorosamente su Android 14 e 15, PackageManager richiede due condizioni non negoziabili per qualsiasi APK destinato ai livelli SDK moderni:

  • resources.arsc non compresso allineato a 4 byte: La tabella delle risorse compilata (resources.arsc) deve essere archiviata non compressa (STORED) e allineata su un limite di 4 byte in modo che Android possa mapparla in memoria (mmap) direttamente senza copiarla nella RAM. Eseguire sempre la firma zipalign -p -f -v 4 input.apk aligned.apk Prima.
  • Blocco firma v2+ obbligatorio: La firma di un APK con targeting API 30+ con jarsigner (che scrive solo una firma META-INF/ v1) farà sì che Android 11-15 rifiuti l'installazione con INSTALL_PARSE_FAILED_NO_CERTIFICATES. Utilizza il generatore di comandi interattivo sopra per creare il comando apksigner --v2-signing-enabled=true esatto per il tuo archivio di chiavi o verifica l'output firmato nel nostro Verificatore firma APK.
Progettato e documentato dal signor Shaefale Sviluppatore capo e architetto di pacchetti Android • Verificato su Android 12-15

Ogni utilità nel toolkit da XAPK a APK viene eseguita al 100% localmente nel tuo browser tramite JavaScript e WebAssembly. Hai trovato una custodia limite con un pacchetto specifico? Segnalalo al nostro team di ingegneri.