37% das 1+ milhão de perguntas em android estão …...target sdk na google play apps devem...

49

Upload: others

Post on 11-Mar-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android
Page 2: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

37% das 1+ milhão de perguntas em Android estão sem resposta aceita!

Page 3: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

O que fazer quando a sua é uma delas?

Page 4: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android
Page 5: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

Que tal navegar pelo Android Studio?

Page 6: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

Stubs!

Page 7: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

Olhar pela 10ª vez os docs da Google?

Page 8: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

E agora?

Page 9: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

Pq navegar no AOSP vai te levar ao próximo nível?Palestra TDC SP 19 - Trilha Android

17.07.19

Page 10: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

Palestrantes

Rodrigo PerazzoTech Lead

Victor RattisEng SW

rodrigo.perazzo

@rodrigoperazzo

@PerazzoZe

victorrattis

@victorrattis

@victorRattis

Page 11: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

5+ anos em Android Embarcado

Page 12: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

Cada vez mais Restrições

Dangerous PermissionsAndroid M

Background LimitsAndroid O

Non-SDK InterfacesAndroid P

Background OptimizationsAndroid N

Page 13: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

Target SDK na Google Play

Apps devem atualizar seu SDK

1º de agosto de 2019 novos apps

devam ter o target SDK pelo menos Android 9.0

1º de novembro de 2019 atualização

de apps devem ter target SDK para Android 9.0

Lançado

Target

2018

28

26

2019

30

28

2020

32

30

2021

34

32

Page 14: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

A

AOSP

Page 15: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android
Page 16: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android
Page 17: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

Ambiente

Ferramenta Repo para gerenciar os 600+ repositórios Git

Tamanho

60 GB de código fonte

Navegação

Navegação limitada ao terminal do Linux

Você pode baixá-lo, mas...

Page 18: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android
Page 19: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android
Page 20: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android
Page 21: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

Textos. Ideal para logs de erro!

Page 22: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

Classes, métodos e variáveis

Page 23: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

Diretórios e tipos de arquivo

Page 24: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

Commit messages

Page 25: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android
Page 26: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

SDK

App

Invisível Código Interno

Visível

Page 27: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

SDK

App

Invisível

Non-SDKpriv + @hide

Código Interno

framework.jar

services.jarlibandroid*.so

Visível

Page 28: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android
Page 29: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

Context

App

ContextImpl

Services

Visível

Invisível

Managers

?

Page 30: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android
Page 31: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

Classe do SDK

App

AIDL

Processo Interno

Invisível

Visível

Page 32: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

Android Interface Definition Language

● Arquivos .aidl● Nomes: IManager / IService / ... ● Implementado com: extends <NOME>.Stub

Processo 1 AIDL Processo 2

Primitivos do SO

Page 33: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

Case Real (SDK 28): “Porque o JobScheduler não está funcionando?!”

Page 34: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

O que o app estava fazendo:

● Agendava um job num BroadcastReceiver para executar assim que possível.

● O Job demorava muito para ser executado (horas!)

Page 35: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android
Page 36: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android
Page 37: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android
Page 38: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android
Page 39: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android
Page 40: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android
Page 41: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

Regras de agendamento

Page 42: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

Estado do app?

Page 43: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android
Page 44: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

App Standby Bucket

● Feature de gerenciamento de bateria integrada no Android P

● Prioriza requisições por frequência de uso:

○ Active: App is currently being used or was very recently used○ Working set: App is in regular use○ Frequent: App is often used, but not every day○ Rare: App is not frequently used

Page 45: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

Solução!

● Explicar a restrição e mudar a UX do aplicativo!

1. Pedir para o usuário manualmente colocar o app na Power Save

2. Executar o processamento como um Foreground Service

Page 46: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

Nem todo código vai resolver seu problema. 5129 public int getSimCount() {5130 // FIXME Need to get it from Telephony Dev Controller when that gets implemented!5131 // and then this method shouldn't be used at all!5132 if(isMultiSimEnabled()) {5133 return 2;5134 } else {5135 return 1;5136 }5137 }

Page 47: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

Porque navegar no AOSP?

+ Velocidade Para atualizar o app às novas versões

+ AutonomiaPara resolver problemas “sem solução”Para aprender novas features do Android

+ Facilidade Para contribuir com a comunidade

Page 48: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

Dúvidas?

Page 49: 37% das 1+ milhão de perguntas em Android estão …...Target SDK na Google Play Apps devem atualizar seu SDK 1º de agosto de 2019 novos apps devam ter o target SDK pelo menos Android

Obrigado!Palestra TDC SP 19 - Trilha Android

17.07.19