Assinante do APK

Assinador de APK Online – Como assinar arquivos APK gratuitamente

Guia Assinante do APK completo - aprenda como fazer assinar arquivos APK usando apksigner, jarsigner ou debug keystore. Tutorial de assinatura de APK passo a passo gratuito para desenvolvedores e testadores. Assinar APK sem Android Studio.

Por que os arquivos APK precisam ser assinados?

Todo aplicativo Android deve ser assinado digitalmente antes de ser instalado. A assinatura serve a vários propósitos:

  • Verifica a identidade do desenvolvedor do aplicativo
  • Garante que o APK não foi adulterado
  • Permite que o Android corresponda às atualizações do aplicativo com o original
  • Necessário para instalação em todos os dispositivos Android

Ferramenta de desktop necessária

A assinatura do APK requer ferramentas de linha de comando (JDK/Android SDK). Isso não pode ser feito em um navegador da web. Siga o guia abaixo para assinar APKs em seu computador.

Método 1: assinar com apksigner (recomendado)

apksigner é a ferramenta oficial de assinatura de APK do Google, incluída no Android SDK Build Tools.

Etapa 1: gerar um armazenamento de chaves

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

Etapa 2: assine o APK

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

Etapa 3: verifique a assinatura

apksigner verify --verbose signed-app.apk

Método 2: assinar com jarsigner (legado)

# 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

Etapa 4: Zipalign (importante!)

Após assinar, otimize o APK com zipalign:

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

Assinatura de depuração (para teste)

Para fins de teste, você pode usar o keystore de depuração padrão do 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ção de ferramentas de assinatura

Métricaapksignerjarsigner
Assinatura V1
Assinatura V2
Assinatura V3
RecomendadoLegado

Assinante do APK – Perguntas frequentes

Perguntas comuns sobre assinatura de APK, armazenamento de chaves e assinatura de código Android

Para assinar um arquivo APK, você precisa do apksigner (recomendado) ou jarsigner: (1) Gere um keystore usando keytool -genkey, (2) Assine o APK com apksigner sign --ks my-key.jks --out signed.apk unsigned.apk, (3) Verifique a assinatura com apksigner verify signed.apk. Você também pode usar o keystore de depuração do Android para fins de teste. Esta é a forma padrão para assinar APK sem Android Studio.

Embora você não possa assinar APK on-line com segurança (porque a assinatura do APK requer seu armazenamento de chaves privado, que nunca deve ser carregado em nenhum servidor), você pode usar nosso Guia para assinante de APK gratuito para assinar arquivos APK em sua máquina local. Nosso tutorial passo a passo orienta você em todo o processo usando as ferramentas oficiais apksigner e jarsigner do Google. Após a assinatura, use nosso Verificador de assinatura APK para verificar a assinatura online gratuitamente.

V1 (Assinatura JAR): O esquema de assinatura original do Android. Verifica cada entrada ZIP individualmente. Mais lento, mas amplamente compatível com todas as versões do Android. V2 (esquema de assinatura APK): Introduzido no Android 7.0. Verifica todo o APK como um todo, proporcionando uma instalação mais rápida. V3 (esquema de assinatura APK v3): Android 9.0+, suporta rotação de chave. V4: Android 11.0+, permite instalações de streaming. Use o apksigner para oferecer suporte a todos os esquemas; jarsigner suporta apenas V1.

Para assinar APK sem Android Studio: (1) Instale o Java JDK 8 ou superior, (2) Baixe as ferramentas de construção do Android SDK que incluem o apksigner ou baixe a ferramenta agrupada independente, (3) Gere um keystore: keytool -genkey -v -keystore my-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias, (4) Assine: apksigner sign --ks my-key.jks --out signed.apk app.apk. Este método funciona em Windows, Mac e Linux sem exigir a instalação completa do Android Studio.

zipalign é uma ferramenta Android SDK que alinha dados não compactados dentro do APK em limites de 4 bytes. Essa otimização reduz o consumo de RAM quando o aplicativo é executado em um dispositivo. Importante: Se estiver usando o apksigner, execute o zipalign ANTES de assinar. Se estiver usando jarsigner (legado), execute zipalign APÓS a assinatura. Comando: zipalign -v 4 input.apk output.apk. O Google Play exige que os APKs sejam zipaligned para envio.

Por que a ordem de alinhamento (zipalign antes do apksigner) é importante no Android 11–15

Um dos erros mais frequentes que desenvolvedores e modders cometem ao assinar um APK modificado ou mesclado é executar zipalign depois assinando o pacote – ou usar o utilitário jarsigner herdado do Java em vez do Android SDK apksigner do Google. Como o esquema de assinatura APK v2 e v3 calcula um hash criptográfico em todo o layout binário do arquivo ZIP, modificar os deslocamentos de bytes com zipalign após a assinatura invalida imediatamente o bloco de assinatura v2/v3.

A partir do Android 11 (API de nível 30) e aplicado estritamente no Android 14 e 15, o PackageManager exige duas condições não negociáveis ​​para qualquer APK direcionado aos níveis modernos do SDK:

  • resources.arsc alinhado de 4 bytes não compactado: A tabela de recursos compilada (resources.arsc) deve ser armazenada descompactada (STORED) e alinhada em um limite de 4 bytes para que o Android possa mapeá-la na memória (mmap) diretamente, sem copiá-la para a RAM. Sempre execute a assinatura zipalign -p -f -v 4 input.apk aligned.apk antes.
  • Bloco de assinatura v2+ obrigatório: Assinar um APK direcionado à API 30+ com jarsigner (que grava apenas uma assinatura v1 META-INF/) fará com que o Android 11–15 rejeite a instalação com INSTALL_PARSE_FAILED_NO_CERTIFICATES. Use o gerador de comando interativo acima para criar o comando apksigner --v2-signing-enabled=true exato para seu keystore ou verifique sua saída assinada em nosso Verificador de assinatura APK.
Projetado e documentado por Mst Shaefale Desenvolvedor líder e arquiteto de pacotes Android • Verificado no Android 12–15

Cada utilitário do kit de ferramentas XAPK para APK é executado 100% localmente em seu navegador via JavaScript e WebAssembly. Encontrou um caso extremo com um pacote específico? Relate isso à nossa equipe de engenharia.