Se você estiver familiarizado com o seu enraizamento telefone Android ou o download de ROMs personalizadas, tais como o altamente popular CyanogenMod ou o seu sucessor a Linhagem do sistema operacional, você pode ter imaginado – como as pessoas constroem essas ROMs? Quanto trabalho exatamente vai para o desenvolvimento de uma ROM personalizada?
este guia irá orientá-lo através dos conceitos básicos de desenvolvimento de sua própria ROM Android personalizado. Deve – se notar que este é um empreendimento enorme-se você não tem experiência em codificação ou brincar em Terminais Linux, você pode querer obter algum conhecimento antes de mergulhar neste deep-end. Mas se você tiver pelo menos uma ideia básica dessas coisas, tentarei explicar as coisas da maneira mais simples possível, para que você possa acompanhar.
basicamente, o que estamos fazendo é baixar o código-fonte bruto do Android (AOSP) e modificá-lo ao nosso gosto. Como existem tantas fontes para escolher para diferentes dispositivos, este guia simplesmente fará referência à fonte mestre conhecida 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 leigos, hardware como sua câmera e GPU não funcionará “fora da caixa” ao desenvolver com o AOSP. Na verdade, seu dispositivo nem mesmo inicializará sem esses binários de hardware.
se você está desenvolvendo para um telefone da marca Google (Pixel, Nexus, etc), Você pode encontrar os binários de hardware diretamente do Google, e este guia irá orientá-lo através da obtenção e construção deles em sua ROM. No entanto, se você está desenvolvendo uma ROM para um telefone de marca (Sony, Samsung, etc)… bem, abençoe seu coração, porque você está em um passeio.
alguns fabricantes têm seus próprios projetos de código aberto ou lançam ferramentas de desenvolvimento para futuros desenvolvedores, enquanto outros fabricantes mantêm uma tampa apertada em seus códigos proprietários. Aqui está uma breve lista de projetos de código aberto mais popular fabricantes:
Samsung Lançamento da Fonte Aberta Center
Sony Developer World
Lenovo Support
Huawei Open Source Release Centro
Motorola Desenvolvedores
Com isso fora do caminho, vamos continuar sob a suposição de que estamos construindo uma ROM para a mais básica, a baunilha experiência Android, a Google Pixel do dispositivo. Com esse conhecimento, você poderá se ramificar por conta própria e começar a desenvolver versões personalizadas das ROMs específicas do fabricante.
requisitos para este guia:
- Android Open Source Project
- Pixel XL telefone ou um emulador de Android para Linux
- 64-bit do Sistema Operacional Linux – Ubuntu ou Linux Mint é o mais novato-friendly distros, considerando que BBQLinux foi desenvolvido especificamente com os desenvolvedores do Android em mente.
- Python
- um computador robusto (compilar o código requer 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 de exibi-la no seu dispositivo. Meu favorito pessoal é Genymotion, então eu vou orientá-lo através da instalação desse emulador particular. No entanto, você também pode conferir este guia “melhores emuladores Android”, já que a maioria deles também tem compatibilidade com Linux.
acesse o site do Genymotion, Registre uma conta, Verifique-a por e-mail e baixe o executável para sua área de trabalho 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 Y para criar o diretório Genymotion. Agora digite o 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, basicamente será como ter um telefone Pixel XL em sua área de trabalho.
vamos agora configurar Python:
$ apt-get install python
Agora precisamos configurar o Kit de Desenvolvimento Java em sua máquina Linux. Abra o terminal do 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 que o dispositivo USB de acesso. Execute o seguinte código no terminal Linux:
isso fará o download do necessário 51-android.arquivo txt que permite o acesso ao dispositivo USB acima mencionado. Abra o.arquivo txt e modificá-lo para incluir seu nome de usuário Linux, em seguida, coloque o.arquivo txt no seguinte local: (como usuário root). Agora Conecte seu dispositivo ao computador via USB para que as novas regras entrem em vigor automaticamente.
baixando a fonte do Android
o AOSP está 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 inicial. Digite os seguintes comandos no terminal Linux:
$ mkdir ~ / bin
$ PATH = ~ / bin:$PATH
Agora vamos baixar o Repo ferramenta, então, digite no terminal do Linux:
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
Depois de Repo está instalado, agora precisamos criar um diretório vazio para armazenar os seus ficheiros de trabalho. Portanto, 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-usuário global.nome “Seu nome”
$ git config-usuário global.e-mail [email protected]
Agora vamos dizer Repo para puxar o último mestre do manifesto da AOSP a partir do Git:
$ repo init -u https://android.googlesource.com/platform/manifest
Se feito com sucesso, você receberá uma mensagem que Repo foi inicializado no 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 do Android
é aqui que os binários de hardware mencionados no início deste guia entram em jogo. Vamos para a página drivers AOSP e baixar os binários 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, então extraia-os para sua área de trabalho e execute o script de extração automática da pasta raiz. Escolha instalar os binários na raiz do WORKING_DIRECTORY que criamos anteriormente.
Agora digite em seu terminal Linux:
$ make espancar
$ fonte build/envsetup.sh
Agora vamos escolher o destino para construir, por tipo de:
$ lunch aosp_marlin-userdebug
$ setpaths
$ make –j4
lá, agora “construímos” uma ROM Android da fonte. Então, vamos testá-lo no emulador, digitando no terminal:
$ emulator
então brinque um pouco no emulador. Como você pode ver, uma experiência Android puramente baunilha é bastante mínima, e é por isso que os fabricantes personalizam o AOSP de acordo com suas necessidades. Então você poderia piscar 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 chato de fato.
Então, o que os fabricantes normalmente fará com o AOSP é garfo, adicione a sua própria binários, personalizar a INTERFACE do usuário, adicionar um logotipo de inicialização, etc. Fabricante basicamente apenas pintar sobre o estoque ROM Android, e assim que será o seu próximo objetivo também.
fique atento, pois a segunda parte deste guia passará pela adição de fontes, temas e uma animação de inicialização à sua ROM!