Android Application Package

   Muito se fala da plataforma Android, como por exemplo, seus excelentes aspectos de estabilidade e performance. O que poucos sabem é que a receita do sucesso é não apenas 1 estratégia que deu certo e sim várias. Seja na escolha de um kernel exemplar (Linux) ou ainda na linguagem (Java), a plataforma agrega ainda uma maneira bem “Java de Ser” de empacotar seus aplicativos, o formato “APK”.
   Assim como arquivos Jar os arquivos APK(Android Application Package) seguem o formato ZIP, ou seja, basta descompactar o arquivo em uma ferramenta de descompressão que sua estrutura é revelada e, ainda detalhes interessantíssimos da estratégia dos engenheiros da Google.
   Ao descompactar o arquivo, você verá a seguinte estrutura :
   MyAppication
        assets/
        META-INF/
        res/
        AndroidManifest
        classes.dex
        resouces.arsc
  A pasta assets, contém arquivos que normalmente são de escolha do desenvolvedor e isso vai desde um arquivo .sql até mesmo fontes que são usadas pela aplicação.
  A pasta META-INF já é bastante conhecida pela comunidade java, nela é possivel encontrar informações sobre a assinatura e certificado utilizado na geração do apk e o famoso MANIFEST.MF com detalhes sobre a aplicação em si.
  A pasta res contém os recursos utilizados pela aplicação, tais como: Strings, Arquivos de Layout, Folhas de estilo e etc.
 O arquivo de formato xml : AndroidManifest, contém informações importantíssimas para o funcionamento de uma aplicação Android, tais como: declaração de Activities, Temas da aplicação, Permissões especiais, versão da aplicação e etc.
  O arquivo classes.dex contém as classes compiladas no formato dex, que somente podem ser executadas pela Dalvik, ou seja, não adianta tentar rodar um .dex com a Java Runtime Environment que não funciona.
  O arquivo resources.arsc é um binário dos recursos da aplicação gerado apos a compilação.
  
  No geral, o formato acima pode variar, mas a sua essência e a mesma. E por último, vale lembrar que as aplicações embbebed do android ficam localizadas na pasta /system/app já as que você instala ficam na pasta /data/app.
 Esse post foi apenas um pequeno bate-bola sobre Android, nada muito avançado, mas é claro, nem por isso deixa de ser útil.
Abrcs e até a proxima  o/
Natanael Fonseca