APK

Origem: Wikipédia, a enciclopédia livre.
Saltar para a navegação Saltar para a pesquisa
Android Package (APK)
APK format icon.png
Extensão do arquivo .apk
MIME application/vnd.android.package-archive
Tipo de formato Formato de Pacote
Variante de JAR e ZIP

Android Package ( APK ) é um arquivo de pacote destinado ao sistema operacional Android. É uma sigla em inglês da palavra Android Application Pack. Ele pode ser comparado com os arquivos proprietários de instalação de software do Windows, como o .exe ou o .msi. Acontece que o APK 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.

Conteúdo do APK[editar | editar código-fonte]

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.[4]

  • AndroidManifest.xml : arquivo de manifesto adicional do Android contendo o nome e versão do aplicativo, permissões de acesso, etc.[5]
  • 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.[6]

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. «Fornecimento de recursos | Android Developers». developer.android.com. Consultado em 25 de março de 2018. 
  5. «Manifesto do aplicativo | Android Developers». developer.android.com. Consultado em 25 de março de 2018. 
  6. ryantzj (22 de janeiro de 2017). «Android Application/Package APK Structure Part 1». The Way of Ryantzj (em inglês) 
Ícone de esboço Este artigo sobre Formato de arquivo de computador é um esboço. Você pode ajudar a Wikipédia expandindo-o.