3. Usuários de smartphones (2023)
https://www.bankmycell.com/blog/how-many-phones-are-in-the-world
4. Número de usuários de sistemas mobile
Android é o sistema operacional
mobile com mais usuários
Os dados ao lado são de 2023
https://www.bankmycell.com/blog/android-vs-apple-market-share/
6. Versões
Nem todos os usuários usam a última
versão do Android.
Atualmente, para alcançar 90% dos
usuários, o app deve ser compatível
com versões lançadas até 5 anos atrás
Fonte: Android Studio (Create New
Project)
7. Lojas
Google Play é a principal loja de
aplicativos para Android
Existem outras:
● Amazon Appstore
● Samsung Galaxy Store
● …
9. Sistema operacional
● O sistema Android é construído sobre o
kernel do Linux
● A camada de abstração de hardware (HAL)
permite acessar recursos de hardware
sem se preocupar com as diferenças de
um fabricante para outro
● Apps (ou partes de apps) escritos em C/C+
+ têm acesso a algumas bibliotecas
(Android NDK, ou kit de desenvolvimento
nativo)
https://developer.android.com/guide/platform
https://source.android.com/docs/core/architecture
10. ● Existe uma extensa API para Java e Kotlin
para criação de apps
● Apps em Java/Kotlin são executados pelo
Android Runtime (ART), similar à máquina
virtual Java (JVM).
○ O Android Runtime (ART) substitui a antiga
Dalvik VM
Sistema operacional
https://developer.android.com/guide/platform
https://source.android.com/docs/core/architecture
11. Empacotamento
● O código Java (.java) ou
Kotlin (.kt) é compilado
para bytecode (.dex),
que é executado pelo
Android Runtime (ART)
● Os arquivos .dex, bem
como imagens, arquivos
de configuração etc.,
são reunidos em um um
Android Package Kit
(.apk)
● Apps podem ser
https://stackoverflow.com/questions/12442979/android-underst
anding-the-apk-installation-process/12443744#12443744
12. Assinatura do APK
● Todo aplicativo é assinado com um certificado digital
● A assinatura impede que outras pessoas publiquem apps em seu nome
13. Isolamento (sandbox)
● Cada aplicativo executa em um ambiente isolado (sandbox)
● Um app não pode acessar memória de outro
● Um app não pode acessar arquivos de outro
● Apps podem compartilhar dados de forma disciplinada, através de
content providers
● Um app não pode acessar recursos do sistema (ex.: câmera, internet) a
não ser que tenha permissão para isso
https://source.android.com/security/app-sandbox
14. Tipos de componentes de um app
● Activities: telas
● Serviços: código que roda em segundo plano
● Broadcast receivers: código que roda em resposta a algum evento do
sistema, mesmo que o app não esteja em execução. Ex.: em um horário
específico, enviar uma notificação ao usuário. Ver lista de eventos.
● Provedor de conteúdo (content provider): fornece dados para outros
aplicativos. Ex.: o app Contatos possui um provedor de conteúdo, que
permite que outros aplicativos leiam e gravem contatos.
https://developer.android.com/guide/components/fundamentals
15. AndroidManifest.xml
Todo app Android possui um arquivo AndroidManifest.xml, que define:
● ícone, título
● versão mínima do Android
● componentes do app (activities, serviços etc.)
● permissões e recursos de hardware necessários (ex.: acesso a câmera,
internet, contatos…)
https://developer.android.com/guide/components/fundamentals
17. ● IDE oficial para desenvolvimento de apps Android
● Baseada no IntelliJ IDEA (da empresa JetBrains)
● https://developer.android.com/studio
Android Studio
https://developer.android.com/studio
18. A instalação do Android Studio inclui várias coisas importantes:
● Android Emulator
○ Intel x86 Emulator Accelerator (HAXM installer)
● Google Play Services (APIs de mapas, Google Play etc.)
● Android SDK build tools (ex.: dx, para convertex .class para .dex)
● Android SDK Platform-tools (ex.: adb, que gerencia dispositivos)
● Android SDK Tools (ex.: ddms, para debugging)
Android Studio
19. Acesse Tools -> SDK Manager para verificar o que foi instalado
Diretório de instalação:
● Windows: C:UsersUSUARIOAppDataLocalAndroidSdk
● Linux: /home/USUARIO/Android/sdk
● macOS: /Users/USUARIO/Library/Android/sdk
Android SDK
20. Android Virtual Devices (AVDs)
São dispositivos emulados pelo seu
computador através do Android Emulator.
AVDs são configurações do emulador
● Quanta memória?
● Qual o tamanho da tela?
● Qual o processador? (Intel x86 ou ARM?)
● Qual a versão do Android? (imagem)
Tools > AVD Manager
22. Uso de dispositivo real
O processo de emulação é muito lento em computadores sem suporte a
aceleração via hardware
Sugestão: usar um dispositivo real, conectado à porta USB do computador
Se quiser ver a tela do celular no computador, sugere-se usar o software
Vysor
(alternativa: Wormhole)
23. ● No seu celular, abra o app Configurações e selecione Sobre o telefone (ou
algo similar). Em alguns casos está dentro de Sistema.
● Role até o Build number e toque nele 7 vezes até aparecer a mensagem
de que o modo desenvolvedor foi ativado.
● Volte e acesse a nova opção Opções de Desenvolvedor. Ative depuração
USB.
● No computador, reinicie o adb (dependendo de sua configuração, você
pode precisar rodar os comandos de dentro de
$ANDROID_SDK/platform-tools)
○ adb kill-server
○ adb start-server
○ adb devices # para listar os dispositivos
● Em alguns casos você precisará instalar um driver USB
Uso de dispositivo real