Fat binaries
-
Upload
felipe-pedroso -
Category
Technology
-
view
207 -
download
1
description
Transcript of Fat binaries
Fat Binaries
Felipe Pedroso
APK
• É o formato de distibuição dos aplicativos Android*.
• Digitalmente assinado.
• Baseado no formato .jar
• São formatados como arquivos zip
2
A estrutura do APK
• AndroidManifest.xml
• classes.dex
• resource.arsc
• META-INF
• Res
• lib
(bibliotecas nativas)
3
Como os APKs são distribuídos?
• Google Play Store
• Stores independentes* • Amazon
• SlideME
• F-Droid
• …
• Instalação Manual*
OK, mas não é só gerar o APK e subir na store?
5
Diferentes marcas…
6
Referência (Julho/2013): http://opensignal.com
Diferentes dispositivos…
7
Referência (Julho/2013): http://opensignal.com
Diferentes tamanhos de tela…
8
Relatório de fragmentação - http://opensignal.com
Diferentes versões…
9
Referência http://developer.android.com/about/dashboards/index.html
… 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
10
Referência http://developer.android.com/tools/sdk/ndk/index.html
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
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)
12
Múltiplos APKS
• Tamanho da tela e sua densidade
• Versão da plataforma (API)
• Arquitetura da CPU
• Formatos de compactação de texturas (OpenGL)
13
Múltiplos APKs no Google Play
• Modo Advanced do Console do Desenvolvedor
• Interface similar
• Não sobrescreve o APK anterior
14
Caso de Estudo – Multiple APKs
15
0
20
40
60
80
100
120
armeabiarmeabi-v7amips x86
resources.arsc
lib
classes.dex
AndroidManifest.xml
res
META-INF
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
16
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
17
Fat Binary
• Suportam múltiplas arquiteturas...
• … mas imagine um Single APK para todas configurações possíveis!
18
Caso de Estudo – Single APK
7% 2%
2%
5% 2%
82%
Size on disk
META-INF
res
AndroidManifest.xml
classes.dex
resources.arsc
lib
19
Caso de Estudo – Single APK
20
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
Comparando…
21
0
20
40
60
80
100
120
140
160
180
200
resources.arsc
classes.dex
AndroidManifest.xml
res
META-INF
lib
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?
22
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
23
Muito obrigado!
Q/A