O ecossistema Android usa uma variedade de formatos de arquivo para empacotar, distribuir e armazenar dados de aplicativos. Se você já baixou um aplicativo de uma fonte de terceiros, provavelmente encontrou extensões de arquivo além do APK familiar. Formatos como XAPK, APKS, APKM, AAB e OBB atendem, cada um, a uma finalidade específica no ciclo de vida do aplicativo Android.
Este guia pretende ser uma referência completa para todos os principais formatos de arquivo do Android. Desenvolvedores, usuários avançados que fazem sideload de aplicativos e leitores curiosos que desejam apenas saber o que esses arquivos realmente contêm encontrarão cada formato explicado em linguagem simples abaixo.
APK: Kit de pacotes Android
O APK é o formato de arquivo fundamental para aplicativos Android. Tem sido o formato de instalação padrão desde o início do Android e continua sendo o formato que o sistema operacional Android entende nativamente para instalação de aplicativos.
O que contém
Um arquivo APK é essencialmente um arquivo ZIP com uma estrutura interna específica:
- AndroidManifest.xml, arquivo XML binário que declara o nome do pacote do aplicativo, componentes, permissões e requisitos
- classes.dex (e classes2.dex, etc.), bytecode Dalvik compilado contendo o código Java/Kotlin do aplicativo
- resources.arsc, Tabela de recursos compilada mapeando IDs de recursos para seus valores
- res/, diretório contendo recursos como layouts, drawables e strings referenciados por ID
- assets/, arquivos de ativos brutos acessados pelo aplicativo em tempo de execução por meio do AssetManager
- lib/, bibliotecas nativas organizadas por arquitetura de CPU (por exemplo, lib/arm64-v8a/)
- META-INF/, arquivos de assinatura e informações de certificado
Quando você o encontra
Arquivos APK são o que você baixa ao fazer o sideload de aplicativos de fontes de terceiros. Eles também são instalados no seu dispositivo a partir da Play Store, embora as instalações modernas da Play Store geralmente usem APKs divididos gerados a partir de App Bundles.
Como lidar com isso
Os arquivos APK podem ser instalados diretamente no Android abrindo-os com um gerenciador de arquivos ou usando adb install. Você também pode examinar seu conteúdo renomeando a extensão para .zip e extraindo, ou usando nosso Verificador de APK para inspecionar assinaturas e metadados.
AAB: pacote de aplicativos Android
O Android App Bundle é o formato de publicação do Google para a Play Store. Desde agosto de 2021, todos os novos aplicativos na Play Store devem ser enviados como AABs em vez de APKs.
O que contém
Um arquivo AAB usa um formato baseado em buffer de protocolo e contém:
- Código do aplicativo principal Módulo básico: e recursos necessários em cada dispositivo
- Divisões de configuração: Recursos organizados por densidade de tela, arquitetura de CPU e idioma
- Módulos de recursos dinâmicos: Recursos opcionais que podem ser baixados sob demanda
- Instruções Metadados do pacote: para o Google Play sobre como gerar APKs específicos do dispositivo
Quando você o encontra
Como usuário comum, você normalmente não encontra arquivos AAB diretamente. Eles são usados pelos desenvolvedores durante o processo de construção e upload. No entanto, se você obtiver um arquivo AAB (talvez de artefatos de construção de um projeto de código aberto), será necessário convertê-lo para o formato APK antes da instalação.
Como lidar com isso
Use o utilitário de linha de comando bundletool do Google ou nosso Conversor AAB para APK para gerar um APK instalável a partir de um arquivo AAB. O processo de conversão cria um APK universal (maior, funciona em qualquer lugar) ou APKs específicos do dispositivo (menores, direcionados ao dispositivo).
XAPK: APK estendido
XAPK é um formato de contêiner popularizado pelo APKPure que agrupa um APK com seus arquivos de dados OBB associados ou divide configurações de APK em um único pacote para download.
O que contém
Um arquivo XAPK é um arquivo ZIP contendo:
- Um arquivo APK base (o aplicativo principal)
- Arquivos OBB (dados de expansão para jogos e aplicativos grandes)
- Opcionalmente, divida os arquivos APK para diferentes configurações de dispositivos
- Um arquivo manifest.json descrevendo o conteúdo do pacote e instruções de instalação
- Um arquivo de ícone para fins de exibição
Quando você o encontra
Você encontra arquivos XAPK ao baixar aplicativos ou jogos grandes de repositórios de aplicativos de terceiros. Jogos que requerem arquivos de dados adicionais (anteriormente distribuídos como arquivos OBB) são comumente empacotados como XAPKs para simplificar o processo de download em um único arquivo.
Como lidar com isso
Os arquivos XAPK não podem ser instalados diretamente pelo instalador de pacote padrão do Android. Você precisa de um aplicativo instalador XAPK dedicado ou pode usar nosso Conversor de XAPK para APK para extrair o APK base. Para jogos que requerem dados OBB, você também precisará extrair e colocar os arquivos OBB no diretório correto usando nosso Extrator OBB.
APKS: conjunto de APKs
O formato APKS é a saída do bundletool do Google ao gerar APKs específicos do dispositivo a partir de um arquivo AAB. Também é usado por algumas ferramentas de backup de aplicativos para armazenar instalações divididas de APK.
O que contém
Um arquivo APKS é um arquivo ZIP contendo:
- toc.pb, um índice de buffer de protocolo que descreve a estrutura dividida
- splits/, diretório contendo o APK base e todos os APKs divididos de configuração
- Opcionalmente, APKs independentes para dispositivos que não suportam instalações divididas
Quando você o encontra
Você encontra arquivos APKS ao usar o bundletool localmente, ao fazer backup de aplicativos instalados da Play Store ou ao fazer download de determinados repositórios de terceiros que preservam a estrutura dividida do APK.
Como lidar com isso
Você pode instalar arquivos APKS usando o comando install-apks do bundletool ou convertê-los em um único APK usando nosso Fusão de APKS para APK. Observe que a fusão de APKs divididos em um APK universal pode aumentar o tamanho do arquivo, pois todos os recursos de configuração são combinados.
APKM: Pacote APKMirror
APKM é um formato de contêiner proprietário criado pelo APKMirror para distribuição de aplicativos que consistem em vários APKs divididos. Ele tem uma finalidade semelhante ao XAPK e APKS, mas usa a própria estrutura do APKMirror.
O que contém
Um arquivo APKM é um arquivo ZIP contendo:
- Um arquivo APK básico
- Divida arquivos APK para várias configurações (densidade, ABI, idioma)
- Um arquivo de metadados que descreve a estrutura do pacote
Quando você o encontra
Você encontra arquivos APKM exclusivamente ao fazer download do APKMirror. O site usa esse formato para aplicativos distribuídos como App Bundles na Play Store e, portanto, consistem em vários APKs divididos.
Como lidar com isso
Os arquivos APKM requerem o aplicativo APKMirror Installer para instalação direta, ou você pode extrair o conteúdo (já que é um arquivo ZIP) e instalar os APKs divididos manualmente usando o comando install-multiple do ADB. O APK base também pode ser extraído e instalado de forma independente, embora algumas funcionalidades possam ser limitadas sem as divisões de configuração.
OBB: Blob binário opaco
Arquivos OBB são arquivos de expansão usados por aplicativos Android (principalmente jogos) para armazenar grandes quantidades de dados que excedem o limite de tamanho de APK da Play Store. Embora o Google tenha substituído amplamente esse sistema pelo Play Asset Delivery, muitos aplicativos existentes ainda usam arquivos OBB.
O que contém
Os arquivos OBB podem conter qualquer tipo de dados que o aplicativo precise:
- Texturas de jogos e modelos 3D
- Arquivos de áudio e trilhas sonoras
- Conteúdo de vídeo
- Dados e mapas de nível
- Quaisquer dados binários grandes que o desenvolvedor decida armazenar externamente
O formato dos dados em um arquivo OBB depende inteiramente do desenvolvedor. Alguns usam compactação ZIP, outros usam formatos binários personalizados. O “opaco” no nome reflete que o Android trata o arquivo como uma caixa preta.
Quando você o encontra
Arquivos OBB são encontrados ao fazer o sideload de jogos grandes ou quando são agrupados em pacotes XAPK. Eles são armazenados em /Android/obb/[package.name]/ no armazenamento compartilhado do dispositivo.
Como lidar com isso
Os arquivos OBB devem ser colocados no diretório correto para que o aplicativo os encontre. O nome do arquivo normalmente segue o padrão main.[version].[package.name].obb ou patch.[version].[package.name].obb. Use nosso Extrator OBB para extrair arquivos OBB de pacotes XAPK.
DEX: Executável Dalvik
Os arquivos DEX contêm o bytecode compilado que é executado no ambiente de execução do Android. Eles são encontrados em arquivos APK, mas também podem existir de forma independente durante o desenvolvimento e a depuração.
O que contém
Um arquivo DEX contém:
- Bytecode Java/Kotlin compilado no formato de instrução Dalvik
- Constantes de string e definições de tipo
- Referências de métodos e campos
- Definições de classe e suas hierarquias
Detalhes técnicos
Um único arquivo DEX tem um limite de referência de método de 65.536 (o "limite de 64K"). Os aplicativos que excedem esse limite usam vários arquivos DEX (classes.dex, classes2.dex, etc.), uma técnica chamada multidex. As ferramentas de construção modernas lidam com isso automaticamente.
Arquivos ODEX, VDEX e ART
Estas são versões otimizadas de arquivos DEX criados pelo Android Runtime durante ou após a instalação:
- ODEX (DEX otimizado): Contém código de máquina nativo compilado antecipadamente para métodos usados com frequência. Gerado durante manutenção ociosa com base em perfis de uso.
- VDEX (DEX verificado): Contém o bytecode DEX verificado com resultados de verificação pré-calculados. Isso acelera inicializações subsequentes e lançamentos de aplicativos, ignorando a nova verificação.
- ART (imagem de tempo de execução do Android): Contém objetos de classe pré-inicializados e dados de heap. Isso permite que o tempo de execução ignore o carregamento e a inicialização de classes de estrutura comuns durante a inicialização.
Esses arquivos são gerados pelo sistema e não são algo com o qual os usuários normalmente interagem diretamente. Eles são armazenados em /data/dalvik-cache/ ou junto com o APK em /data/app/.
SO: Objeto Compartilhado (Bibliotecas Nativas)
Arquivos com extensão .so são bibliotecas compartilhadas nativas compiladas para arquiteturas de CPU específicas. Eles contêm código de máquina escrito em C, C++ ou Rust que roda diretamente no processador sem a sobrecarga do tempo de execução Dalvik/ART.
Variantes de Arquitetura
- armeabi-v7a, ARM de 32 bits (a maioria dos dispositivos mais antigos)
- arm64-v8a, ARM de 64 bits (telefones mais modernos)
- x86, Intel/AMD de 32 bits (alguns tablets e emuladores)
- x86_64, Intel/AMD de 64 bits (Chromebooks e emuladores)
Quando um APK contém bibliotecas nativas, ele deve incluir a arquitetura correta para o dispositivo de destino. Se a arquitetura errada for incluída, o aplicativo irá travar com um UnsatisfiedLinkError.
Arquivos XML no Android
O Android usa XML extensivamente, mas em duas formas diferentes:
XML binário
Dentro dos arquivos APK, os recursos XML (layouts, manifestos, arquivos de string) são armazenados em um formato binário compilado chamado AXML. Este formato é mais compacto e mais rápido de analisar do que o XML de texto. Ferramentas como aapt2 ou apktool podem descompilar XML binário de volta para texto legível.
XML de texto
Durante o desenvolvimento, os arquivos XML estão no formato de texto padrão. O processo de compilação os compila em XML binário para inclusão no APK. Arquivos de configuração como network_security_config.xml e arquivos de recursos no diretório res/ iniciam como texto XML.
Arquivos de mapeamento ProGuard/R8
Embora não seja um formato específico do Android, os arquivos de mapeamento (mapping.txt são importantes para a compreensão de aplicativos ofuscados). Quando os desenvolvedores usam ferramentas de redução de código como R8, nomes de classes e métodos são substituídos por identificadores curtos e sem sentido. O arquivo de mapeamento registra as traduções de nomes originais para ofuscados, essenciais para a leitura de relatórios de falhas.
Formato de backup do Android (AB)
Arquivos com a extensão .ab são arquivos de backup do Android criados por adb backup. Eles contêm um arquivo tar (opcionalmente compactado e criptografado) do diretório de dados de um aplicativo. Este formato está sendo substituído por soluções de backup baseadas em nuvem, mas ainda é usado por algumas ferramentas de backup.
IMG e imagens de partição
Embora não sejam relacionadas a aplicativos, as imagens do sistema Android usam vários formatos que vale a pena mencionar:
- sistema.img: A partição do sistema somente leitura contendo a estrutura Android e aplicativos pré-instalados
- inicialização.img: Contém o kernel Linux e o ramdisk inicial
- fornecedor.img: Drivers e firmware específicos de hardware
- super.img: Contêiner de partição dinâmica usado em dispositivos modernos (Android 10+)
Tabela de comparação de formatos
Aqui está uma referência rápida comparando os principais formatos de distribuição de aplicativos:
- APK: Arquivo único, instalável diretamente, universal (todas as configurações incluídas), tamanho maior
- O formato de publicação AAB:, não instalável diretamente, requer processamento pela Play Store
- Container XAPK: (APK + OBB/splits), requer instalador ou extração, usado pelo APKPure
- Contêiner APKS: (APKs divididos), formato bundletool, requer instalador ou fusão
- APKM: Container (APKs divididos), formato APKMirror, requer seu instalador
Escolhendo a ferramenta certa
Dependendo do formato com o qual você está trabalhando, diferentes ferramentas são apropriadas:
- Tem um XAPK? Use nosso Conversor de XAPK para APK para extrair o APK instalável
- Tem uma AAB? Use nosso Conversor AAB para APK para gerar um APK universal
- Dividiu APKs (APKS)? Use nosso Fusão de APKS para APK para combiná-los
- Precisa verificar um APK? Use nosso Verificador de APK para verificar assinaturas
- Precisa de arquivos OBB de um XAPK? Use nosso Extrator OBB para descompactar arquivos de expansão
Qual formato de pacote Android você deve usar?
A variedade de formatos de arquivo do ecossistema Android reflete a evolução da plataforma, desde simples APKs de arquivo único até sofisticados sistemas de entrega modulares. Cada formato existe para resolver um problema específico: AABs reduzem o tamanho dos downloads, XAPKs simplificam a distribuição de aplicativos com vários arquivos, OBBs lidam com grandes dados de jogos e APKs divididos permitem otimização específica do dispositivo.
Depois de entender esses formatos, você poderá lidar com qualquer pacote Android que encontrar, seja fazendo sideload de aplicativos, fazendo backup de seu dispositivo ou desenvolvendo seus próprios aplicativos. A principal conclusão é que a maioria desses formatos são, em última análise, contêineres que contêm arquivos APK em várias configurações e, com as ferramentas certas, você sempre pode extrair o que precisa.