Vou ensinar aqui os passos para isso, vou usar de exemplo a LineageOS 14.1, mas pode ser de outra versão se preferir, apenas se atente em não errar isso.
Primeiro temos que ter o seu ambiente instalado para nenhuma falha, para isso siga os tutoriais que vou deixar no fórum.
Tudo estando pronto, agora podemos prosseguir
Se você instalou tudo como no tutorial de preparação, agora você precisa fazer isso abaixo, lembrando que se você já fez uma vez não será necessário fazer de novo.
Digite esse comando
(mkdir significa que você está criando o diretório /bin (é uma pasta)
Agora digite
(isso é para aplicar o path necessário para a pasta /bin)
Agora digite (ou copie)
(isso vai criar diretório /repo dentro da /bin com o que é necessário)
Agora vamos dar permissões aos diretórios criados em /repo
Feito isso, a primeira parte está pronta.
Agora vamos para o source code da rom LineageOS que vamos baixar, nesse caso primeiro crie o diretório para ela.
Digite o comando
mkdir NomeDaPasta (não precisa especicamente ter o ~/)
Eu fiz a pasta como lineage14.1
Digite agora
cd lineage14.1
(esse comando serve para entrar na pasta que você criou)
Agora vamos baixar a source code da LineageOS
Se você usa uma VM na sua máquina ou em seu próprio Note está com Linux, você provavelmente vai usar sua internet, se ela for fraca, isso poderá demorar muito.
Mas se você tem um dedicado para isso ou um servidor pago de boa velocidade, pode ser bem rápido, outra coisa também eu indico ver o tutoria para usar 60 dias grátis no servidor Google, tem ele aqui no fórum.
Vamos ao que interessa, digite esse comando
(lembrando que tem que ser em sua pasta /lineage14.1)
Agora digite
(esse comando é quem vai sincronizar o repositório da rom Lineage feito acima)
Agora aguarde quando tudo tiver terminado, isso demora um pouco como eu disse acima, então vai viver um pouco, tomar água, conversar com amigos...o que quiser!
Então vamos baixar o vendor, esse não baixa automaticamente na source, baixa apenas o da Lineage, mas o da marca de seu dispositivo não, para isso procure pela marca de seu dispositivo aqui
https://github.com/TheMuppets (provavelmente estará assim - proprietary_vendor_frabricante <- sua fabricante)
Vou usar como exemplo a do Motorola, caso eu esteja fazendo para algum dela.
então seria essa https://github.com/TheMuppets/proprietary_vendor_motorola
Para baixar esse repositório para o devido lugar, digitem assim:
(git clone é o comando que baixa o repositório
Depois cole o link do repositório
-b seria indicação de branch, na qual vamos usar a da cm-14.1, sim, a Lineage não mudou a sua branch, ainda continua cm-
agora o vendor/motorola é para que os arquivos fiquem no diretório vendor/motorola)
Quando tiver terminado, agora você vai precisar dos propriedades de seu dispositivo instalados.
Nota 1: Se seu dispositivo já for suportado oficialmente, você não precisa baixar as propriedade e nem extrair elas de seu dispositivo.
Basta você digitar:
(vai baixar tudo automático para ele)
Nota 2: Se você não tem o aparelho oficialmente suportado, então precisa conseguir as propriedade para ele de algum outro desenvolvedor ou extrair de seu próprio dispositivo.
Opção 1: Extrair de seu dispositivo:
Conecta seu aparelho no seu PC ou Note com o cabo USB com depuração ativada.
(Este passo eu não tentei, mas fizeram com a rom stock com root, certifique-se se você perguntar sobre a impressão digital para aceitar 4,3 levando você aceitar, porque se não, ele irá falhar.)
Agora você precisa estar em seu diretório, assim
Em /lineage14.1 digite cd device/suafabricante/seumodelo
no meu caso foi
cd device/motorola/osprey
E lá, digite esse comando:
Opção 2: Se você tem a source de seu dispositivo de algum outro desenvolvedor no github, basta seguir abaixo:
Vou dar um exemplo usando a source oficial do Moto G3 no github da Lineage (Mas lembre-se que o Moto G3 suporta oficialmente, então não precisa disso...)
Primeiro o Device:
(perceberam que é igual ao modo do vendor? então siga assim)
Segundo o Kernel:
Terceiro, se seu aparelho tem um common, deve usar ele também e seguir como acima.
(LEMBRANDO VOCÊS QUE NÃO ADIANTA SÓ FAZER ISSO, AGORA TEM QUE ADAPTAR SEUS DEVICE TREE BAIXADOS ACIMA PARA TUDO CORRER BEM)
Acabando tudo isso, agora vamos para o que queremos, compilar a rom para seu dispositivo.
Estando no seu diretório principal da ROM, nesse caso, o /lineage14.1, digite assim.
Agora digite:
No meu caso
brunch osprey
Agora é só aguardar sua compilação ser concluída e isso pode demorar cerca de 2hrs, no final, seu arquivo ROM.zip compilado ficará nesse diretório:
/lineage14.1/out/target/product/modelo/rom-zipcompilada.zip
No meu caso em uma que compilei no dia 06/01/2016 para o Moto G3, ficou assim:
/lineage14.1/out/target/product/osprey/lineage-14.1-20170106-UNOFFICIAL-osprey.zip
Para recompilar uma rom, sendo assim, atualizando ela para uma nova build, basta seguir os comandos abaixo:
Esteja em seu diretório /lineage14.1 .
Didite esse comando para limpar a compilação anterior (se quiser):
Depois digite:
(para atualizar o repositório)
Depois digite:
No meu caso
. build/envsetup.sh && brunch osprey
E aguarde novamente para acabar de compilar, o endereço de compilação é o mesmo.
/lineage14.1/out/target/product/modelo/rom-zipcompilada.zip
É isso, espero que ajude o tutorial.
(OBS: quem tem dúvidas sobre, comente aqui no fórum...se você tem minhas redes sociais particulares eu não irei te ajudar lá pelo motivo que a vida corre hahahahaha...)
Primeiro temos que ter o seu ambiente instalado para nenhuma falha, para isso siga os tutoriais que vou deixar no fórum.
Tudo estando pronto, agora podemos prosseguir
Se você instalou tudo como no tutorial de preparação, agora você precisa fazer isso abaixo, lembrando que se você já fez uma vez não será necessário fazer de novo.
Digite esse comando
- Código:
mkdir ~/bin
(mkdir significa que você está criando o diretório /bin (é uma pasta)
Agora digite
- Código:
PATH=~/bin:$PATH
(isso é para aplicar o path necessário para a pasta /bin)
Agora digite (ou copie)
- Código:
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
(isso vai criar diretório /repo dentro da /bin com o que é necessário)
Agora vamos dar permissões aos diretórios criados em /repo
- Código:
chmod a+x ~/bin/repo
Feito isso, a primeira parte está pronta.
Agora vamos para o source code da rom LineageOS que vamos baixar, nesse caso primeiro crie o diretório para ela.
Digite o comando
- Código:
mkdir ~/nomedapasta
mkdir NomeDaPasta (não precisa especicamente ter o ~/)
Eu fiz a pasta como lineage14.1
Digite agora
- Código:
cd ~/lineage14.1
cd lineage14.1
(esse comando serve para entrar na pasta que você criou)
Agora vamos baixar a source code da LineageOS
Se você usa uma VM na sua máquina ou em seu próprio Note está com Linux, você provavelmente vai usar sua internet, se ela for fraca, isso poderá demorar muito.
Mas se você tem um dedicado para isso ou um servidor pago de boa velocidade, pode ser bem rápido, outra coisa também eu indico ver o tutoria para usar 60 dias grátis no servidor Google, tem ele aqui no fórum.
Vamos ao que interessa, digite esse comando
- Código:
repo init -u git://github.com/LineageOS/android.git -b cm-14.1
(lembrando que tem que ser em sua pasta /lineage14.1)
Agora digite
- Código:
repo sync
(esse comando é quem vai sincronizar o repositório da rom Lineage feito acima)
Agora aguarde quando tudo tiver terminado, isso demora um pouco como eu disse acima, então vai viver um pouco, tomar água, conversar com amigos...o que quiser!
Então vamos baixar o vendor, esse não baixa automaticamente na source, baixa apenas o da Lineage, mas o da marca de seu dispositivo não, para isso procure pela marca de seu dispositivo aqui
https://github.com/TheMuppets (provavelmente estará assim - proprietary_vendor_frabricante <- sua fabricante)
Vou usar como exemplo a do Motorola, caso eu esteja fazendo para algum dela.
então seria essa https://github.com/TheMuppets/proprietary_vendor_motorola
Para baixar esse repositório para o devido lugar, digitem assim:
- Código:
git clone https://github.com/TheMuppets/proprietary_vendor_motorola -b cm-14.1 vendor/motorola
(git clone é o comando que baixa o repositório
Depois cole o link do repositório
-b seria indicação de branch, na qual vamos usar a da cm-14.1, sim, a Lineage não mudou a sua branch, ainda continua cm-
agora o vendor/motorola é para que os arquivos fiquem no diretório vendor/motorola)
Quando tiver terminado, agora você vai precisar dos propriedades de seu dispositivo instalados.
Nota 1: Se seu dispositivo já for suportado oficialmente, você não precisa baixar as propriedade e nem extrair elas de seu dispositivo.
Basta você digitar:
- Código:
. build/envsetup.sh
(vai baixar tudo automático para ele)
Nota 2: Se você não tem o aparelho oficialmente suportado, então precisa conseguir as propriedade para ele de algum outro desenvolvedor ou extrair de seu próprio dispositivo.
Opção 1: Extrair de seu dispositivo:
Conecta seu aparelho no seu PC ou Note com o cabo USB com depuração ativada.
(Este passo eu não tentei, mas fizeram com a rom stock com root, certifique-se se você perguntar sobre a impressão digital para aceitar 4,3 levando você aceitar, porque se não, ele irá falhar.)
Agora você precisa estar em seu diretório, assim
Em /lineage14.1 digite cd device/suafabricante/seumodelo
no meu caso foi
cd device/motorola/osprey
E lá, digite esse comando:
- Código:
./extract-files.sh
Opção 2: Se você tem a source de seu dispositivo de algum outro desenvolvedor no github, basta seguir abaixo:
Vou dar um exemplo usando a source oficial do Moto G3 no github da Lineage (Mas lembre-se que o Moto G3 suporta oficialmente, então não precisa disso...)
Primeiro o Device:
- Código:
git clone https://github.com/LineageOS/android_device_motorola_osprey -b cm-14.1 device/motorola/osprey
(perceberam que é igual ao modo do vendor? então siga assim)
Segundo o Kernel:
- Código:
git clone https://github.com/LineageOS/android_kernel_motorola_msm8916 -b cm-14.1 kernel/motorola/msm8916
Terceiro, se seu aparelho tem um common, deve usar ele também e seguir como acima.
(LEMBRANDO VOCÊS QUE NÃO ADIANTA SÓ FAZER ISSO, AGORA TEM QUE ADAPTAR SEUS DEVICE TREE BAIXADOS ACIMA PARA TUDO CORRER BEM)
Acabando tudo isso, agora vamos para o que queremos, compilar a rom para seu dispositivo.
Estando no seu diretório principal da ROM, nesse caso, o /lineage14.1, digite assim.
- Código:
. build/envsetup.sh
- Código:
(ele vai sincronizar tudo, no caso dos oficialmente suportado ele irá baixar o que faltar)
Agora digite:
- Código:
brunch "seu dispositvo"
No meu caso
brunch osprey
Agora é só aguardar sua compilação ser concluída e isso pode demorar cerca de 2hrs, no final, seu arquivo ROM.zip compilado ficará nesse diretório:
/lineage14.1/out/target/product/modelo/rom-zipcompilada.zip
No meu caso em uma que compilei no dia 06/01/2016 para o Moto G3, ficou assim:
/lineage14.1/out/target/product/osprey/lineage-14.1-20170106-UNOFFICIAL-osprey.zip
Para recompilar uma rom, sendo assim, atualizando ela para uma nova build, basta seguir os comandos abaixo:
Esteja em seu diretório /lineage14.1 .
Didite esse comando para limpar a compilação anterior (se quiser):
- Código:
make clobber
Depois digite:
- Código:
repo sync
(para atualizar o repositório)
Depois digite:
- Código:
. build/envsetup.sh && brunch modelo
No meu caso
. build/envsetup.sh && brunch osprey
E aguarde novamente para acabar de compilar, o endereço de compilação é o mesmo.
/lineage14.1/out/target/product/modelo/rom-zipcompilada.zip
É isso, espero que ajude o tutorial.
(OBS: quem tem dúvidas sobre, comente aqui no fórum...se você tem minhas redes sociais particulares eu não irei te ajudar lá pelo motivo que a vida corre hahahahaha...)