Android Application Pack, ou Android Package (abreviado APK, em português Pacote de Aplicação Android) é um arquivo de aplicação proprietário da empresa Google destinado ao sistema operacional móvel Android, um formato de arquivo informático de instalação de aplicativos .apk; comparado com os arquivos proprietários de instalação de software do sistema Windows, como o .exe ou o .msi.

Android Package (APK)
Extensão do arquivo .apk
MIME application/vnd.android.package-archive
Tipo de formato Formato de Pacote
Variante de JAR e ZIP

Este tipo de arquivo informático tem um formato semelhante a compressão que é feita pelo ZIP, e em seu interior ficam todos os arquivos necessários para a instalação de apps e jogos.[1] Para criar um arquivo APK, todo o código-fonte da aplicação é compilado e depois empacotado em um único arquivo, usando ferramentas como o programa aapt, dx.bat (encontradas no Android SDK), javac, usado na compilação das classes java presente no código-fonte,[2] e outros programas específicos. O APK é um formato de compressão ZIP baseado no formato JAR.

O APK pode ser obtido oficialmente na loja virtual do Google Play ou baixados em sites de terceiros ou também, após o desenvolvimento da aplicação feita em um Ambiente de Desenvolvimento Integrado (IDE) como o Android Studio ou no Kit de Desenvolvimento Android (SDK)[3] via linha de comando. Caso o APK seja baixado em sites de terceiros, a instalação é feita simplesmente clicando no arquivo.apk baixado no smartphone Android. Já para os desenvolvedores a instalação é feita automaticamente no emulador Android. Se caso o desenvolvedor queira testar a aplicação no smartphone, usa-se o programa de depuração adb (Android Debugger). Também são encontrados instalados nativamente no sistema, são chamados popularmente de "apps nativos" como por exemplo: relógio, calendário, telefone, contatos, etc.

Visão Geral editar

O APK é análogo a outros pacotes de software, como APPX no Microsoft Windows, APP para HarmonyOS ou um pacote Debian em sistemas operacionais baseados no Debian. Para criar um arquivo APK, um programa para Android é primeiro compilado usando uma ferramenta como o Android Studio ou Visual Studio e, em seguida, todas as suas partes são empacotadas em um único arquivo de contêiner. Um arquivo APK contém todo o código de um programa (como arquivos .dex), recursos, ativos, certificados e o arquivo 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 de arquivo para ser reconhecido como tal.[4][5]

A maioria das implementações do Android permite que os usuários instalem manualmente arquivos APK apenas depois de ativarem a configuração de "Fontes desconhecidas", que permite a instalação de fontes que não são confiáveis, como o Google Play.[6] Isso pode ser feito por muitas razões, 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.[7]

Conteúdo do APK editar

O arquivo APK, geralmente contém os seguintes arquivos e diretórios:

  • META-INF / :diretório que contém:
    • MANIFEST.MF :arquivo de manifesto.
    • CERT.RSA :certificado de aplicativo.
    • CERT.SF :listas de recursos e assinatura criptografada baseado em SHA-1.
  • lib / :diretório que contém código nativo compilado para uma arquitetura de processador específica. Exemplo: armeabi-v7a, arm64-v8a, mips, x86, etc.
  • res / :diretório de recursos. É dividido em vários subdiretórios:
    • drawable / : diretório de arquivos Bitmap (.png, .9.png, .jpg, .gif) ou arquivos XML.
    • layout / : diretório de arquivos XML que definem um layout de interface do usuário.
    • mipmap / : diretório de ícones com diferentes densidades que será exibido no inicializador (launcher).
    • values / : diretório de arquivos XML que contêm valores simples, como strings, números inteiros, cores, estilos e dimensões.

Além dos diretórios citados anteriormente, há outros diretórios específicos como: anim/, menu/, raw/, xml/, etc.[8]

  • AndroidManifest.xml : arquivo de manifesto adicional do Android contendo o nome e versão do aplicativo, permissões de acesso, etc.[9]
  • classes.dex : arquivo executável Dalvik compilado a partir do código-fonte java, e executado na Máquina VIrtual Dalvik ou no Android Runtime (ART).
  • resources.arsc : arquivo que contém recursos pré-compilados do diretório "values / " usados na aplicação.[10]

Referências

  1. «O que é um arquivo APK e para o que serve? - AndroidPIT». AndroidPIT 
  2. Services, Geotechnical Software. «Building Android programs on the command line». geosoft.no. Consultado em 25 de março de 2018 
  3. «Conheça o Android Studio | Android Studio». developer.android.com. Consultado em 25 de março de 2018 
  4. «Inside the Android Application Framework» (video). Google Sites. 2008. Consultado em 22 de outubro de 2008. Cópia arquivada em 24 de dezembro de 2011 
  5. Hatem Ben Yacoub (20 de abril de 2018). «Tips: How to install apk files on Android Emulator». Open Ha Magazine. Consultado em 17 de julho de 2021. Arquivado do original em 21 de maio de 2012 
  6. Mod APK
  7. «Unknown Sources: Everything you need to know!». Android Central. 27 de julho de 2018. Consultado em 4 de março de 2020. Cópia arquivada em 1 de setembro de 2021 
  8. «Fornecimento de recursos | Android Developers». developer.android.com. Consultado em 25 de março de 2018 
  9. «Manifesto do aplicativo | Android Developers». developer.android.com. Consultado em 25 de março de 2018 
  10. ryantzj (22 de janeiro de 2017). «Android Application/Package APK Structure Part 1». The Way of Ryantzj (em inglês) 


Ver também editar

  • AAB (formato Android App Bundle)
  Este artigo sobre Formato de arquivo de computador é um esboço. Você pode ajudar a Wikipédia expandindo-o.