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

Post on 11-Mar-2020

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

O que fazer quando a sua é uma delas?

Que tal navegar pelo Android Studio?

Stubs!

Olhar pela 10ª vez os docs da Google?

E agora?

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

17.07.19

Palestrantes

Rodrigo PerazzoTech Lead

Victor RattisEng SW

rodrigo.perazzo

@rodrigoperazzo

@PerazzoZe

victorrattis

@victorrattis

@victorRattis

5+ anos em Android Embarcado

Cada vez mais Restrições

Dangerous PermissionsAndroid M

Background LimitsAndroid O

Non-SDK InterfacesAndroid P

Background OptimizationsAndroid N

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

A

AOSP

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...

Textos. Ideal para logs de erro!

Classes, métodos e variáveis

Diretórios e tipos de arquivo

Commit messages

SDK

App

Invisível Código Interno

Visível

SDK

App

Invisível

Non-SDKpriv + @hide

Código Interno

framework.jar

services.jarlibandroid*.so

Visível

Context

App

ContextImpl

Services

Visível

Invisível

Managers

?

Classe do SDK

App

AIDL

Processo Interno

Invisível

Visível

Android Interface Definition Language

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

Processo 1 AIDL Processo 2

Primitivos do SO

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

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!)

Regras de agendamento

Estado do app?

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

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

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 }

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

Dúvidas?

Obrigado!Palestra TDC SP 19 - Trilha Android

17.07.19

top related