Como construir uma ROM personalizada a partir do Android Open Source Project

fonte conhecido como AOSP (Android Open Source Project) .



Agora, a coisa sobre o AOSP é que o código-fonte puro Não inclui propriedades de hardware específicas do dispositivo. Em termos gerais, hardware como sua câmera e GPU não funcionará 'fora da caixa' ao desenvolver com o AOSP. Na verdade, seu dispositivo nem mesmo inicializa sem esses binários de hardware.

Se você estiver desenvolvendo para um telefone da marca Google (Pixel, Nexus, etc), pode encontrar os binários de hardware diretamente do Google , e este guia o orientará na obtenção e integração dos mesmos em sua ROM. No entanto, se você estiver desenvolvendo uma ROM para um telefone de marca (Sony, Samsung, etc) ... bem, abençoe seu coração, porque você está prestes a dar uma volta.



Alguns os fabricantes têm seus próprios projetos de código aberto ou lançam ferramentas de desenvolvimento para desenvolvedores em potencial, enquanto outros fabricantes mantêm um controle rígido sobre seus códigos proprietários. Aqui está uma breve lista de projetos de código aberto dos fabricantes mais populares:



Centro de lançamento de código aberto da Samsung
Sony Developer World
Suporte Lenovo
Huawei Open Source Release Center
Desenvolvedores Motorola



Com isso resolvido, vamos continuar supondo que estamos construindo uma ROM para a experiência mais básica do Android, para um dispositivo Google Pixel. Com esse conhecimento em seu currículo, você será capaz de expandir por conta própria e começar a desenvolver versões personalizadas de ROMs de fabricantes específicos.

Requisitos para este guia:

  • Android Open Source Project
  • Smartphone Pixel XL ou um emulador Android para Linux
  • Sistema operacional Linux de 64 bits - Ubuntu ou Linux Mint são as distros mais amigáveis ​​para novatos, enquanto BBQLinux foi desenvolvido especificamente com os desenvolvedores Android em mente.
  • Pitão
  • Um computador robusto (compilar código consome muita memória e espaço!)

Configurando Seu Ambiente de Compilação

Vamos começar configurando o emulador Android em sua máquina Linux. Quer você tenha ou não um dispositivo Google Pixel XL, é sempre mais seguro experimentar sua nova ROM em um emulador Android antes piscando para o seu dispositivo. Meu favorito pessoal é Genymotion, então vou guiá-lo na instalação desse emulador específico. No entanto, você também pode verificar este guia “ Melhores emuladores Android ”, Já que a maioria deles também tem compatibilidade com Linux.

Vá para o Site Genymotion , registre uma conta, verifique-a por e-mail e baixe o executável para seu desktop Linux.



Agora abra um terminal Linux e digite:

Chmod + x genymotion-xxxxx.bin (substitua xxxx pelo número da versão no nome do arquivo)
./genymotion-xxxxxx.bin

pressione E para criar o diretório Genymotion. Agora digite no terminal:

cd genymotion && ./genymotion

Agora, ele solicitará que você inicie o processo de instalação, portanto, continue clicando em Avançar até chegar à janela Adicionar dispositivos virtuais. Selecione “Pixel XL” na opção Modelo do dispositivo e conclua a instalação. Você pode testar o dispositivo virtual se quiser, será basicamente como ter um telefone Pixel XL em seu desktop.

Agora vamos configurar o Python:

$ apt-get install python

Agora precisamos configurar o Java Development Kit em sua máquina Linux. Abra o terminal Linux e digite os seguintes comandos:

$ sudo apt-get update
$ sudo apt-get install openjdk-8-jdk

Agora você precisará configurar o sistema Linux para permitir o acesso ao dispositivo USB. Execute o seguinte código no terminal Linux:

Isso fará o download do arquivo 51-android.txt necessário que permite o acesso ao dispositivo USB mencionado anteriormente. Abra o arquivo .txt e modifique-o para incluir seu nome de usuário do Linux e coloque o arquivo .txt no seguinte local: (Enquanto o usuário root ) Agora, conecte seu dispositivo ao computador via USB para que as novas regras tenham efeito automaticamente.

Baixando a fonte do Android

O AOSP é hospedado no Git, então vamos usar uma ferramenta chamada Repo para nos comunicarmos com o Git.

Primeiro, precisamos configurar uma pasta / bin em seu diretório Home. Digite os seguintes comandos no terminal Linux:

$ mkdir ~ / bin
$ PATH = ~ / bin: $ PATH

Agora vamos baixar a ferramenta Repo, então digite no terminal Linux:

$ curl https://storage.googleapis.com/git-repo-downloads/repo> ~ / bin / repo
$ chmod a + x ~ / bin / repo

Após a instalação do Repo, devemos criar um diretório vazio para armazenar seus arquivos de trabalho. Então, digite isso no terminal Linux:

$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY

Agora vamos configurar o Git com seu nome e endereço de e-mail - use um endereço do Gmail que você verifica regularmente , caso contrário, você não poderá usar a ferramenta de revisão de código Gerrit.

$ git config –global user.name “Seu nome”
$ git config –global user.email
voce@gmail.com

Agora diremos ao Repo para extrair o manifesto mestre mais recente do AOSP do Git:

$ repo init -u https://android.googlesource.com/platform/manifest

Se feito com sucesso, você receberá uma mensagem informando que o Repo foi inicializado em seu diretório de trabalho. Você também encontrará um “ .repo ” diretório dentro do diretório do cliente. Então, agora vamos baixar a árvore de origem do Android com:

$ repo sync

Construindo a fonte Android

1

É aqui que os binários de hardware mencionados no início deste guia entram em ação. Vamos para o Drivers AOSP página e baixe os binários do Pixel XL para Android 7.1.0 (NDE63P). Você deseja baixar a imagem do fornecedor e os componentes de hardware. Eles vêm como arquivos compactados, portanto, extraia-os para sua área de trabalho e execute o script de autoextração da pasta raiz. Escolha instalar os binários na raiz do WORKING_DIRECTORY que criamos anteriormente.

Agora digite em seu terminal Linux:

$ make clobber
$ source build / envsetup.sh

Agora vamos escolher o destino a ser construído, então digite:

$ lunch aosp_marlin-userdebug
$ setpaths
$ make –j4

Lá, agora “construímos” uma ROM do Android a partir da fonte. Então, vamos testar no emulador, digitando no terminal:

$ emulator

Portanto, brinque um pouco com o emulador. Como você pode ver, uma experiência Android puramente baunilha é mínima, e é por isso que os fabricantes personalizam o AOSP de acordo com suas necessidades. Então você poderia flash esta ROM que acabamos de construir para o seu dispositivo, se você quiser, mas sem adicionar quaisquer melhorias, uma experiência Android puramente baunilha seria uma coisa muito chata.

Portanto, o que os fabricantes costumam fazer com o AOSP é bifurcá-lo, adicionar seus próprios binários proprietários, personalizar a interface do usuário, adicionar um logotipo de inicialização, etc. .

Fique ligado, pois a segunda parte deste guia passará pela adição de fontes, temas e uma animação de inicialização à sua ROM!

5 minutos lidos