SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
ANDROID OPEN SOURCE 
PROJECT – AOSP 
O que realmente é Open Source e o que não é no Android
AOSP 
Android Open Source Project
O QUE É O AOSP 
• Uma iniciativa criada para 
guiar o desenvolvimento da 
plataforma Android 
• Consiste no Sistema 
Operacional, midleware e 
aplicativos 
• Mantido pelo Google 
• Regulado pelo Android 
Compatibility Program (ACP)
• Desde 8 de Março de 2008 
• Aberto em 22 de Outubro de 2008 
• 10.715.902 linhas de código 
• 319.322 commits por 2.314 pessoas 
Linhas de Código 
Commits por Mês 
5.0 Lollipop 
4.4 KitKat 
4.1 Jelly Bean 
4.0 Ice Cream Sandwich 
3.0 Honeycomb 
2.2 Froyo 
2.3 Gingerbread 
2.0 Eclair 
1.6 Donut
LICENÇAS 
• Preferencialmente Apache Software License 2.0 
(ASLv2) para o userspace 
• O Kernel usa GPLv2 
• Partes tem o código fechado com licenças 
comerciais (ex.: Serviços do Google Play)
ANDROID COMPATIBILITY 
PROGRAM (ACP) 
• Ambiente consistente de hardware e aplicativos para 
desenvolvedores 
• Experiência consistente para o usuário 
• Fabricantes se diferenciando, porém mantendo 
compatibilidade 
• Minimizar custos e tempo associados com compatibilidade
CONSISTE EM 
• Código fonte do Android 
• Documento de Definição 
de Compatibilidade (CDD) 
• Conjunto de Testes de 
Compatibilidade (CTS)
O QUE NÃO É ABERTO 
• Aplicativos do Google 
• Google Play Services 
• Google Mobile Services 
(GMS) 
• Experiência Google 
• Licença Comercial 
• “Tudo ou Nada"
GOOGLE MOBILE SERVICES 
• Gmail 
• Chrome 
• Google+ 
• Maps 
• YouTube 
• Google Drive 
• Google Translate 
• Google Now 
• Google Play
GOOGLE PLAY SERVICES 
• Criado em 26 de Setembro de 2012 
• Sicronismo de contas 
• Google+ (SSO, compartilhamento) 
• Google Maps 
• Location APIs 
• Google Play Games 
• Cloud Messaging (Push Notifications) 
• Android Device Manager
CUSTOM ROMS 
• CyanogenMod 
• Paranoid Android 
• XobotOS (Xamarin + C#) 
• Android Open Kang Project 
AOKP 
• Baidu Yi 
• Replicant
ANDROID FORKS 
• Amazon Fire OS 
• Barnes & Noble Nook 
• Nokia X 
• Yandex.kit 
• PrivatOS
MÃOS À OBRAS 
Baixe, compile e instale
O AMBIENTE DE 
DESENVOLVIMENTO 
• Pelo menos 30 GB de espaço live em disco 
• Idealmente 16 GB de RAM e processador de 8 cores 
• Python 2.6 ou 2.7 (python.org) 
• GNU Make 3.81 ou 3.82 (gnu.org) 
• JDK 7 (como instalar o JDK) 
• Git 1.7 ou superior (git-scm.org)
A FERRAMENTA REPO 
1. Coloque uma pasta bin no seu home e deixe-o 
acessível pelo PATH 
$ 
mkdir 
~/bin 
$ 
PATH=~/bin:$PATH 
2. Baixe o repo e garanta que ele pode ser 
executado 
$ 
curl 
https://storage.googleapis.com/git-­‐repo-­‐downloads/repo 
> 
~/bin/repo 
$ 
chmod 
a+x 
~/bin/repo
A FERRAMENTA REPO 
3. Inicialize a sua pasta de trabalho 
$ 
mkdir 
aosp 
$ 
cd 
aosp 
4. Baixe o código do Android Open Source Project 
$ 
repo 
init 
-­‐u 
https://android.googlesource.com/platform/manifest 
-­‐b 
android-­‐5.0.0_r6 
$ 
repo 
sync
BAIXANDO OUTRAS ROMS 
• Baixe o código do Android Open Kang Project 
$ 
repo 
init 
-­‐u 
git://github.com/AOKP/platform_manifest.git 
-­‐b 
jb-­‐mr2 
$ 
repo 
sync 
• Baixe o código do CyanogenMod 
$ 
repo 
init 
-­‐u 
https://github.com/CyanogenMod/android.git 
-­‐b 
cm-­‐11.0 
$ 
repo 
sync 
• Baixe o código do Paranoid Android 
$ 
repo 
init 
-­‐u 
https://github.com/AOSPA/manifest 
-­‐b 
lollipop 
$ 
repo 
sync
COMPILANDO O ANDROID 
• Processo demorado 
• Mais de 2 h com 4-core 
e 8 GB de RAM 
• 15 min com 48-core e 
128 GB de RAM 
• 45 min com 16-core e 
32 GB de RAM
COMPILANDO O ANDROID 
1. Inicialize o ambiente de compilação 
$ 
. 
build/envsetup.sh 
ou 
$ 
source 
build/envsetup.sh 
2. Escolha a plataforma a ser compilada 
$ 
lunch 
aosp_hammerhead-­‐userdebug 
ou veja as alternativas 
$ 
lunch
COMPILANDO O ANDROID 
3. Compile a distribuição 
A opção -jN cria N threads de compilação, calcule este 
valor da seguinte forma: N=cores do processador×1.5 
$ 
make 
-­‐j24
OS BINÁRIOS DA 
PLATAFORMA - NEXUS 5 
• O Google não distribui os 
arquivos de driver binários 
das plataformas junto com 
o AOSP 
• Alguns drivers nem mesmo 
estão nos pacotes de 
download
OS BINÁRIOS DA 
PLATAFORMA - NEXUS 5 
1. Baixe os binários que o Google publica aqui 
$ 
wget 
https://dl.google.com/dl/android/aosp/broadcom-­‐hammerhead-­‐ 
lrx21o-­‐01fad5db.tgz 
$ 
wget 
https://dl.google.com/dl/android/aosp/lge-­‐hammerhead-­‐lrx21o-­‐ 
c6cf4582.tgz 
$ 
wget 
https://dl.google.com/dl/android/aosp/qcom-­‐hammerhead-­‐lrx21o-­‐ 
e0cd4949.tgz 
2. Descompacte, execute os scripts no diretório de 
trabalho do AOSP e aceite as licenças 
$ 
for 
f 
in 
*.tgz; 
do 
tar 
xzf 
$f; 
done 
$ 
for 
extractor_script 
in 
*.sh; 
do 
bash 
$extractor_script; 
done
INSTALANDO A ROM 
1. Crie o pacote 
$ 
make 
-­‐j24 
updatepackage 
2. Reinicie o aparelho 
$ 
adb 
reboot 
bootloader 
3. Destrave o aparelho 
$ 
fastboot 
oem 
unlock 
$ 
fastboot 
format 
cache 
$ 
fastboot 
format 
userdata 
4. Instale o pacote 
$ 
fastboot 
-­‐w 
update 
nome-­‐do-­‐pacote.zip

Mais conteúdo relacionado

Mais procurados

Gentoo - Sistema Operacional
Gentoo - Sistema OperacionalGentoo - Sistema Operacional
Gentoo - Sistema OperacionalAnderson Favaro
 
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...tdc-globalcode
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerBruno Ricardo Siqueira
 
Troubleshooting docker
Troubleshooting dockerTroubleshooting docker
Troubleshooting dockerRafael Gomes
 
Apresentação OpenSUSE 11.3 para Desenvolvedores - Portuguese
Apresentação OpenSUSE 11.3 para Desenvolvedores - PortugueseApresentação OpenSUSE 11.3 para Desenvolvedores - Portuguese
Apresentação OpenSUSE 11.3 para Desenvolvedores - PortugueseKomputer
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Renato Groff
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerRafael Gomes
 
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containersTDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containerstdc-globalcode
 
TDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhaTDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhatdc-globalcode
 
Deploying Docker Containers
Deploying Docker ContainersDeploying Docker Containers
Deploying Docker ContainersHugo Henley
 

Mais procurados (14)

Gentoo - Sistema Operacional
Gentoo - Sistema OperacionalGentoo - Sistema Operacional
Gentoo - Sistema Operacional
 
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando Docker
 
Docker volumes
Docker volumesDocker volumes
Docker volumes
 
Troubleshooting docker
Troubleshooting dockerTroubleshooting docker
Troubleshooting docker
 
Apresentação OpenSUSE 11.3 para Desenvolvedores - Portuguese
Apresentação OpenSUSE 11.3 para Desenvolvedores - PortugueseApresentação OpenSUSE 11.3 para Desenvolvedores - Portuguese
Apresentação OpenSUSE 11.3 para Desenvolvedores - Portuguese
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop docker
 
Alagoas Dev Day
Alagoas Dev DayAlagoas Dev Day
Alagoas Dev Day
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
 
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containersTDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
 
TDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhaTDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unha
 
Deploying Docker Containers
Deploying Docker ContainersDeploying Docker Containers
Deploying Docker Containers
 
Docker + Django
Docker + DjangoDocker + Django
Docker + Django
 

Semelhante a Android Open Source Project - AOSP

Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataformaAndroid Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataformaFelipe Silveira
 
Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1Afonso Machado
 
Treinamento Android Nooclix
Treinamento Android NooclixTreinamento Android Nooclix
Treinamento Android NooclixIury Teixeira
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma AndroidNatanael Fonseca
 
Palestra Dispositivos Móveis
Palestra Dispositivos MóveisPalestra Dispositivos Móveis
Palestra Dispositivos MóveisGrendene S/A
 
Treinamento Android Embarcado
Treinamento Android EmbarcadoTreinamento Android Embarcado
Treinamento Android EmbarcadoOdair Sousa
 
Write once, run "everywhere"
Write once, run "everywhere"Write once, run "everywhere"
Write once, run "everywhere"Stefan Horochovec
 
Android: Uma nova maneira de pensar
Android: Uma nova maneira de pensarAndroid: Uma nova maneira de pensar
Android: Uma nova maneira de pensarcezarsignori
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Renato Groff
 
TDC2019Floripa - Não existe container de prata
TDC2019Floripa - Não existe container de prataTDC2019Floripa - Não existe container de prata
TDC2019Floripa - Não existe container de prataBruno Pedroso
 
Criando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com AppiumCriando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com AppiumElias Nogueira
 
Utilizando containers docker para ap is em asp.net core com app service linux
Utilizando containers docker para ap is em asp.net core com app service linuxUtilizando containers docker para ap is em asp.net core com app service linux
Utilizando containers docker para ap is em asp.net core com app service linuxGustavo Bellini Bigardi
 
ASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureGiovanni Bassi
 
Aplicações livres para o seu Desktop - Leonardo Menezes Vaz
Aplicações livres para o seu Desktop - Leonardo Menezes VazAplicações livres para o seu Desktop - Leonardo Menezes Vaz
Aplicações livres para o seu Desktop - Leonardo Menezes VazTchelinux
 
TDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps JavaTDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps Javatdc-globalcode
 
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013javamanrj
 
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)Caio Candido
 
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...tdc-globalcode
 

Semelhante a Android Open Source Project - AOSP (20)

Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataformaAndroid Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
 
Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1
 
Treinamento Android Nooclix
Treinamento Android NooclixTreinamento Android Nooclix
Treinamento Android Nooclix
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma Android
 
Palestra Dispositivos Móveis
Palestra Dispositivos MóveisPalestra Dispositivos Móveis
Palestra Dispositivos Móveis
 
Treinamento Android Embarcado
Treinamento Android EmbarcadoTreinamento Android Embarcado
Treinamento Android Embarcado
 
Write once, run "everywhere"
Write once, run "everywhere"Write once, run "everywhere"
Write once, run "everywhere"
 
Mean Stack
Mean StackMean Stack
Mean Stack
 
Android: Uma nova maneira de pensar
Android: Uma nova maneira de pensarAndroid: Uma nova maneira de pensar
Android: Uma nova maneira de pensar
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
 
TDC2019Floripa - Não existe container de prata
TDC2019Floripa - Não existe container de prataTDC2019Floripa - Não existe container de prata
TDC2019Floripa - Não existe container de prata
 
Criando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com AppiumCriando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com Appium
 
Utilizando containers docker para ap is em asp.net core com app service linux
Utilizando containers docker para ap is em asp.net core com app service linuxUtilizando containers docker para ap is em asp.net core com app service linux
Utilizando containers docker para ap is em asp.net core com app service linux
 
ASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e Azure
 
Aplicações livres para o seu Desktop - Leonardo Menezes Vaz
Aplicações livres para o seu Desktop - Leonardo Menezes VazAplicações livres para o seu Desktop - Leonardo Menezes Vaz
Aplicações livres para o seu Desktop - Leonardo Menezes Vaz
 
TDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps JavaTDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps Java
 
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
 
De 0 a DevOps
De 0 a DevOpsDe 0 a DevOps
De 0 a DevOps
 
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
 
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
 

Mais de Alexandre Rocha Lima e Marcondes

Uma proposta de gerenciamento de riscos para o empreendedorismo
Uma proposta de gerenciamento de riscos para o empreendedorismoUma proposta de gerenciamento de riscos para o empreendedorismo
Uma proposta de gerenciamento de riscos para o empreendedorismoAlexandre Rocha Lima e Marcondes
 
Análise das metodologias para definição de escopo em Lean Startups
Análise das metodologias para definição de escopo em Lean StartupsAnálise das metodologias para definição de escopo em Lean Startups
Análise das metodologias para definição de escopo em Lean StartupsAlexandre Rocha Lima e Marcondes
 
Estudos de caso de projetos de empreendedorismo e sugestões de ações futuras ...
Estudos de caso de projetos de empreendedorismo e sugestões de ações futuras ...Estudos de caso de projetos de empreendedorismo e sugestões de ações futuras ...
Estudos de caso de projetos de empreendedorismo e sugestões de ações futuras ...Alexandre Rocha Lima e Marcondes
 
Uma correlação entre Lean Startups e Gerenciamento de Projetos
Uma correlação entre Lean Startups e Gerenciamento de ProjetosUma correlação entre Lean Startups e Gerenciamento de Projetos
Uma correlação entre Lean Startups e Gerenciamento de ProjetosAlexandre Rocha Lima e Marcondes
 
Estudos de caso de projetos de empreendedorismo e sugestões de ações futuras ...
Estudos de caso de projetos de empreendedorismo e sugestões de ações futuras ...Estudos de caso de projetos de empreendedorismo e sugestões de ações futuras ...
Estudos de caso de projetos de empreendedorismo e sugestões de ações futuras ...Alexandre Rocha Lima e Marcondes
 
Uma proposta de gerenciamento de riscos para o empreendedorismo
Uma proposta de gerenciamento de riscos para o empreendedorismoUma proposta de gerenciamento de riscos para o empreendedorismo
Uma proposta de gerenciamento de riscos para o empreendedorismoAlexandre Rocha Lima e Marcondes
 
Análise das metodologias para definição de escopo em Lean Startups
Análise das metodologias para definição de escopo em Lean StartupsAnálise das metodologias para definição de escopo em Lean Startups
Análise das metodologias para definição de escopo em Lean StartupsAlexandre Rocha Lima e Marcondes
 
Uma correlação entre Lean Startups e Gerenciamento de Projetos
Uma correlação entre Lean Startups e Gerenciamento de ProjetosUma correlação entre Lean Startups e Gerenciamento de Projetos
Uma correlação entre Lean Startups e Gerenciamento de ProjetosAlexandre Rocha Lima e Marcondes
 

Mais de Alexandre Rocha Lima e Marcondes (16)

iOS 8 com swift
iOS 8 com swiftiOS 8 com swift
iOS 8 com swift
 
Compilando o Android 5 para o Nexus 5
Compilando o Android 5 para o Nexus 5Compilando o Android 5 para o Nexus 5
Compilando o Android 5 para o Nexus 5
 
Palestra Xamarin.Android - GUX
Palestra Xamarin.Android - GUXPalestra Xamarin.Android - GUX
Palestra Xamarin.Android - GUX
 
Neggocio.com.br - Apresentação consultor
Neggocio.com.br - Apresentação consultorNeggocio.com.br - Apresentação consultor
Neggocio.com.br - Apresentação consultor
 
Neggocio.com.br - Apresentação cliente
Neggocio.com.br - Apresentação clienteNeggocio.com.br - Apresentação cliente
Neggocio.com.br - Apresentação cliente
 
Uma proposta de gerenciamento de riscos para o empreendedorismo
Uma proposta de gerenciamento de riscos para o empreendedorismoUma proposta de gerenciamento de riscos para o empreendedorismo
Uma proposta de gerenciamento de riscos para o empreendedorismo
 
Análise das metodologias para definição de escopo em Lean Startups
Análise das metodologias para definição de escopo em Lean StartupsAnálise das metodologias para definição de escopo em Lean Startups
Análise das metodologias para definição de escopo em Lean Startups
 
Estudos de caso de projetos de empreendedorismo e sugestões de ações futuras ...
Estudos de caso de projetos de empreendedorismo e sugestões de ações futuras ...Estudos de caso de projetos de empreendedorismo e sugestões de ações futuras ...
Estudos de caso de projetos de empreendedorismo e sugestões de ações futuras ...
 
Uma correlação entre Lean Startups e Gerenciamento de Projetos
Uma correlação entre Lean Startups e Gerenciamento de ProjetosUma correlação entre Lean Startups e Gerenciamento de Projetos
Uma correlação entre Lean Startups e Gerenciamento de Projetos
 
Controle de versão com o git
Controle de versão com o gitControle de versão com o git
Controle de versão com o git
 
Metodologias Ágeis
Metodologias ÁgeisMetodologias Ágeis
Metodologias Ágeis
 
Estudos de caso de projetos de empreendedorismo e sugestões de ações futuras ...
Estudos de caso de projetos de empreendedorismo e sugestões de ações futuras ...Estudos de caso de projetos de empreendedorismo e sugestões de ações futuras ...
Estudos de caso de projetos de empreendedorismo e sugestões de ações futuras ...
 
Uma proposta de gerenciamento de riscos para o empreendedorismo
Uma proposta de gerenciamento de riscos para o empreendedorismoUma proposta de gerenciamento de riscos para o empreendedorismo
Uma proposta de gerenciamento de riscos para o empreendedorismo
 
Análise das metodologias para definição de escopo em Lean Startups
Análise das metodologias para definição de escopo em Lean StartupsAnálise das metodologias para definição de escopo em Lean Startups
Análise das metodologias para definição de escopo em Lean Startups
 
Uma correlação entre Lean Startups e Gerenciamento de Projetos
Uma correlação entre Lean Startups e Gerenciamento de ProjetosUma correlação entre Lean Startups e Gerenciamento de Projetos
Uma correlação entre Lean Startups e Gerenciamento de Projetos
 
AmishConnect
AmishConnectAmishConnect
AmishConnect
 

Android Open Source Project - AOSP

  • 1. ANDROID OPEN SOURCE PROJECT – AOSP O que realmente é Open Source e o que não é no Android
  • 2. AOSP Android Open Source Project
  • 3. O QUE É O AOSP • Uma iniciativa criada para guiar o desenvolvimento da plataforma Android • Consiste no Sistema Operacional, midleware e aplicativos • Mantido pelo Google • Regulado pelo Android Compatibility Program (ACP)
  • 4. • Desde 8 de Março de 2008 • Aberto em 22 de Outubro de 2008 • 10.715.902 linhas de código • 319.322 commits por 2.314 pessoas Linhas de Código Commits por Mês 5.0 Lollipop 4.4 KitKat 4.1 Jelly Bean 4.0 Ice Cream Sandwich 3.0 Honeycomb 2.2 Froyo 2.3 Gingerbread 2.0 Eclair 1.6 Donut
  • 5. LICENÇAS • Preferencialmente Apache Software License 2.0 (ASLv2) para o userspace • O Kernel usa GPLv2 • Partes tem o código fechado com licenças comerciais (ex.: Serviços do Google Play)
  • 6. ANDROID COMPATIBILITY PROGRAM (ACP) • Ambiente consistente de hardware e aplicativos para desenvolvedores • Experiência consistente para o usuário • Fabricantes se diferenciando, porém mantendo compatibilidade • Minimizar custos e tempo associados com compatibilidade
  • 7. CONSISTE EM • Código fonte do Android • Documento de Definição de Compatibilidade (CDD) • Conjunto de Testes de Compatibilidade (CTS)
  • 8. O QUE NÃO É ABERTO • Aplicativos do Google • Google Play Services • Google Mobile Services (GMS) • Experiência Google • Licença Comercial • “Tudo ou Nada"
  • 9. GOOGLE MOBILE SERVICES • Gmail • Chrome • Google+ • Maps • YouTube • Google Drive • Google Translate • Google Now • Google Play
  • 10. GOOGLE PLAY SERVICES • Criado em 26 de Setembro de 2012 • Sicronismo de contas • Google+ (SSO, compartilhamento) • Google Maps • Location APIs • Google Play Games • Cloud Messaging (Push Notifications) • Android Device Manager
  • 11. CUSTOM ROMS • CyanogenMod • Paranoid Android • XobotOS (Xamarin + C#) • Android Open Kang Project AOKP • Baidu Yi • Replicant
  • 12. ANDROID FORKS • Amazon Fire OS • Barnes & Noble Nook • Nokia X • Yandex.kit • PrivatOS
  • 13. MÃOS À OBRAS Baixe, compile e instale
  • 14. O AMBIENTE DE DESENVOLVIMENTO • Pelo menos 30 GB de espaço live em disco • Idealmente 16 GB de RAM e processador de 8 cores • Python 2.6 ou 2.7 (python.org) • GNU Make 3.81 ou 3.82 (gnu.org) • JDK 7 (como instalar o JDK) • Git 1.7 ou superior (git-scm.org)
  • 15. A FERRAMENTA REPO 1. Coloque uma pasta bin no seu home e deixe-o acessível pelo PATH $ mkdir ~/bin $ PATH=~/bin:$PATH 2. Baixe o repo e garanta que ele pode ser executado $ curl https://storage.googleapis.com/git-­‐repo-­‐downloads/repo > ~/bin/repo $ chmod a+x ~/bin/repo
  • 16. A FERRAMENTA REPO 3. Inicialize a sua pasta de trabalho $ mkdir aosp $ cd aosp 4. Baixe o código do Android Open Source Project $ repo init -­‐u https://android.googlesource.com/platform/manifest -­‐b android-­‐5.0.0_r6 $ repo sync
  • 17. BAIXANDO OUTRAS ROMS • Baixe o código do Android Open Kang Project $ repo init -­‐u git://github.com/AOKP/platform_manifest.git -­‐b jb-­‐mr2 $ repo sync • Baixe o código do CyanogenMod $ repo init -­‐u https://github.com/CyanogenMod/android.git -­‐b cm-­‐11.0 $ repo sync • Baixe o código do Paranoid Android $ repo init -­‐u https://github.com/AOSPA/manifest -­‐b lollipop $ repo sync
  • 18. COMPILANDO O ANDROID • Processo demorado • Mais de 2 h com 4-core e 8 GB de RAM • 15 min com 48-core e 128 GB de RAM • 45 min com 16-core e 32 GB de RAM
  • 19. COMPILANDO O ANDROID 1. Inicialize o ambiente de compilação $ . build/envsetup.sh ou $ source build/envsetup.sh 2. Escolha a plataforma a ser compilada $ lunch aosp_hammerhead-­‐userdebug ou veja as alternativas $ lunch
  • 20. COMPILANDO O ANDROID 3. Compile a distribuição A opção -jN cria N threads de compilação, calcule este valor da seguinte forma: N=cores do processador×1.5 $ make -­‐j24
  • 21. OS BINÁRIOS DA PLATAFORMA - NEXUS 5 • O Google não distribui os arquivos de driver binários das plataformas junto com o AOSP • Alguns drivers nem mesmo estão nos pacotes de download
  • 22. OS BINÁRIOS DA PLATAFORMA - NEXUS 5 1. Baixe os binários que o Google publica aqui $ wget https://dl.google.com/dl/android/aosp/broadcom-­‐hammerhead-­‐ lrx21o-­‐01fad5db.tgz $ wget https://dl.google.com/dl/android/aosp/lge-­‐hammerhead-­‐lrx21o-­‐ c6cf4582.tgz $ wget https://dl.google.com/dl/android/aosp/qcom-­‐hammerhead-­‐lrx21o-­‐ e0cd4949.tgz 2. Descompacte, execute os scripts no diretório de trabalho do AOSP e aceite as licenças $ for f in *.tgz; do tar xzf $f; done $ for extractor_script in *.sh; do bash $extractor_script; done
  • 23. INSTALANDO A ROM 1. Crie o pacote $ make -­‐j24 updatepackage 2. Reinicie o aparelho $ adb reboot bootloader 3. Destrave o aparelho $ fastboot oem unlock $ fastboot format cache $ fastboot format userdata 4. Instale o pacote $ fastboot -­‐w update nome-­‐do-­‐pacote.zip