Pacote de aplicativo Android - Android application package

APK
Extensão de nome de arquivo .apk, .xapk, .apks,.apkm
Tipo de mídia da Internet
application/vnd.android.package-archive
Tipo de formato Formato do pacote
Recipiente para Android : aplicativos móveis
Windows 11 : aplicativos de área de trabalho para WSA
Estendido de JAR

Pacote Android (APK) é o formato de arquivo do pacote do aplicativo Android usado pelo sistema operacional Android e uma série de outros sistemas operacionais baseados no Android para distribuição e instalação de aplicativos móveis , jogos móveis e middleware . Ele pode ser escrito em Java ou Kotlin .

Os arquivos APK podem ser gerados e assinados a partir de Android App Bundles .

Visão geral

O APK é análogo a outros pacotes de software , como APPX no Microsoft Windows ou um pacote Debian em sistemas operacionais baseados em Debian . Para fazer um arquivo APK, um programa para Android é compilado primeiro usando uma ferramenta como Android Studio ou Visual Studio e, em seguida, todas as suas partes são empacotadas em um arquivo de contêiner. Um arquivo APK contém todo o código de um programa (como arquivos .dex ), recursos, ativos, certificados e arquivo de manifesto . Como acontece com muitos formatos de arquivo, os arquivos APK podem ter qualquer nome necessário, mas pode ser necessário que o nome do arquivo termine com a extensão do arquivo para serem reconhecidos como tal.

A maioria das implementações do Android permite que os usuários instalem manualmente os arquivos APK somente depois de ativar a configuração "Fontes desconhecidas", que permite a instalação de fontes diferentes das confiáveis, como o Google Play . Pode-se fazer isso por vários motivos, como durante o desenvolvimento de aplicativos, para instalar aplicativos não encontrados na loja ou para instalar uma versão mais antiga de um aplicativo existente.

Use em outros sistemas operacionais

No evento de anúncio do Windows 11 em junho de 2021, a Microsoft apresentou o novo subsistema Windows para Android (WSA) que habilitará o suporte para Android Open Source Project (AOSP) e permitirá que os usuários executem aplicativos Android em seus desktops Windows. A Microsoft confirmou que os usuários serão capazes de fazer o sideload de aplicativos Android no Windows e que seria possível instalar arquivos APK baixados de fontes de terceiros.

Conteúdo do pacote

Um arquivo APK é um arquivo que geralmente contém os seguintes arquivos e diretórios:

  • META-INF diretório:
    • MANIFEST.MF: o arquivo de manifesto
    • O certificado do aplicativo.
    • CERT.SF: A lista de recursos e um resumo SHA-1 das linhas correspondentes no arquivo MANIFEST.MF; por exemplo:
      Signature-Version: 1.0
      Created-By: 1.0 (Android)
      SHA1-Digest-Manifest: wxqnEAI0UA5nO5QJ8CGMwjkGGWE=
      ...
      Name: res/layout/exchange_component_back_bottom.xml
      SHA1-Digest: eACjMjESj7Zkf0cBFTZ0nqWrt7w=
      Name: res/drawable-hdpi/icon.png
      SHA1-Digest: DGEqylP8W0n0iV/ZzBx3MW0WGCA=
      
  • lib: o diretório que contém o código compilado que é dependente da plataforma; o diretório é dividido em mais diretórios dentro dele:
    • armeabi-v7a: código compilado para todos os processadores baseados em ARMv7 e superiores apenas
    • arm64-v8a: código compilado para todos os processadores baseados em ARMv8 arm64 e superior apenas
    • x86: código compilado apenas para processadores x86
    • x86_64: código compilado apenas para processadores x86-64
    • mipse armeabi estão obsoletos desde NDK r17
  • res: o diretório que contém recursos não compilados em resources.arsc (veja abaixo).
  • assets: um diretório contendo ativos de aplicativos, que podem ser recuperados por AssetManager.
  • AndroidManifest.xml: Um arquivo de manifesto Android adicional, descrevendo o nome, versão, direitos de acesso, arquivos de biblioteca referenciados para o aplicativo. Este arquivo pode estar em XML binário Android que pode ser convertido em XML de texto simples legível por humanos com ferramentas como AXMLPrinter2, apktool ou Androguard.
  • classes.dex: As classes compiladas no formato de arquivo dex compreensível pela máquina virtual Dalvik e pelo Android Runtime .
  • resources.arsc: um arquivo contendo recursos pré-compilados, como XML binário por exemplo.

Veja também

Referências