O documento discute fat binaries e como suportar múltiplas configurações de hardware em aplicativos Android. Ele explica o formato APK e como um único APK "gordo" (fat binary) pode incluir recursos para várias arquiteturas, em contraste com múltiplos APKs menores. O documento também discute quando múltiplos APKs podem ser preferíveis e conclui que um único APK é geralmente a abordagem mais simples e recomendada.
2. O que é um APK?
• Formato de distibuição
dos aplicativos Android*
• Digitalmente assinado.
• Baseado no formato
.jarcomo arquivos zip
• Contém as classes
compiladas(.dex),
bibliotecas nativas,
resources e o manifesto
2
3. OK, mas não é só gerar o
APK e subir na store?
3
8. … e diferentes arquiteturas!
Arquitetura Compatibilidade
ARM, ARM-NEON Android 1.5 (API Level 3) and higher
x86 Android 2.3 (API Level 9) and higher
MIPS Android 2.3 (API Level 9) and higher
8
Referência
http://developer.android.com/tools/sdk/ndk/index.html
9. Vantagens de suportar múltiplas
configurações
• Melhor aproveitamento das características de
cada dispositivo:
• Processador
• Memória
• GPU
• Tela
• Economia de bateria
• Usuários felizes
• Mais dispositivos com sua app
10. Como suportar todos?
• Single APK
• Tudo em um único APK
• Simples e mais recomendado
• Múltiplos APKs
• Um APK para cada caso
• Recomendado quando seu app é muito grande (>50MB)
10
11. Múltiplos APKS
• Tamanho da tela e sua densidade
• Versão da plataforma (API)
• Arquitetura da CPU
• Formatos de compactação de texturas
(OpenGL)
11
12. Múltiplos APKs no Google Play
• Modo Advanced do
Console do
Desenvolvedor
• Interface similar
• Não sobrescreve o
APK anterior
12
13. Caso de Estudo – Multiple APKs
13
0
20
40
60
80
100
120
armeabi armeabi-v7a mips x86
lib
resources.arsc
classes.dex
AndroidManifest.xml
res
META-INF
14. Single APK
• Publicar diversos APKs para o mesmo app
não é a regra e sim a exceção
• One APK to rule them ALL!
• É a solução recomendada e também a
mais simples
14
15. Por que Single APK?
• Publicação e gerenciamento mais simples
• Código unificado (build mais simples)
• Fácil gerenciamento de múltiplas
configurações
• Backup de aplicativos entre dispositivos
15
16. Fat Binary
• Suportam múltiplas arquiteturas...
• … mas imagine um Single APK para todas
configurações possíveis!
16
17. Caso de Estudo – Single APK
7%
2%
2%
5% 2%
82%
Size on disk
META-INF
res
AndroidManifest.xml
classes.dex
resources.arsc
lib
17
18. Caso de Estudo – Single APK
18
7%
2%
2%
5% 2%
16%
13%
40%
13%
Size on disk
META-INF
res
AndroidManifest.xml
classes.dex
resources.arsc
lib/armeabi
lib/armeabi-v7a
lib/mips
lib/x86
20. Isso é realmente um problema?
• O recomendado é que aplicações de até
50MB sejam Single APK.
• Até quando vale a pena manter diferentes
versões?
• O que é melhor para o usuário?
O que é melhor para o desenvolvimento?
20
21. Take aways
• Consciência sobre variações de
configurações
• Conheça seu usuário e suas limitações
• Single APK x Multiples APKs: equilíbrio de
vantagens e desvantagens
21