Janeiro 18, 2022

DIY: Compile a ROM do Android a partir do código-fonte

o Android é o sistema operacional móvel mais usado no mundo. E a melhor parte, é completamente de código aberto, o que em termos leigos, significa que o código-fonte, o programa real está disponível abertamente para todos baixarem, personalizarem e construírem suas próprias ROMs.

existem muitas distribuições personalizadas do Android disponíveis por aí, sendo as populares CyanogenMod, SlimROM, Paranoid Android, AOKP, Liquid Smooth, MIUI, Xylon, geleia gelada, etc.

para o Guia de hoje, compilaremos CyanogenMod 10.2, a ROM de reposição Android mais popular. O procedimento é 99% o mesmo para todas as ROMs personalizadas, portanto, este guia também pode ser usado como referência para compilar outras ROMs.

pré-requisitos

  1. um telefone Android com fonte de Kernel e dispositivo prontamente disponível, já enraizada e com uma recuperação personalizada instalada.
  2. distribuição Linux de 64 bits (preferimos Ubuntu).
  3. pelo menos 100 GB livre em seu disco rígido.
  4. conhecimento de trabalho dos comandos do terminal Linux.
  5. conexão de internet razoavelmente rápida.

ponto a nota: 64 bit Linux OS é uma obrigação, e deve ser uma instalação nativa, Não uma máquina Virtual.

Configure Sua Máquina De Construção

1. Instale o sistema operacional Linux de sua escolha: versão de 64 bits, de acordo com as instruções oficiais. (O guia assumirá que estamos executando o Ubuntu 13.04). Mantenha uma partição de pelo menos 100 GB com Partição Swap de 16 GB.

2. Instale a seguinte lista de pacotes: Abra o aplicativo Terminal e digite

sudo apt-get install <nome do pacote>

pressione enter e ele solicitará sua senha.

Lista de Pacotes

git-core
gnupg
flex
bison
python
rar
original-awk
gawk
p7zip-full
gperf
libsdl1.2-dev
libesd0-dev
libwxgtk2.6-dev
squashfs-tools
build-essential
zip
curl
libncurses5-dev
zlib1g-dev
pngcrush
schedtool
libc6-dev
x11proto-core-dev
libx11-dev
libg11-mesa-dev
mingw32
tofrodos
python-markdown
libxml2-utils
g++-multilib
lib32z1-dev
ia32-libs
lib32ncurses5-dev
lib32readline-gplv2-dev
gcc-multilib
g++-multilib
xsltproc

3. Install Java JDK 1.6 for Linux 64-bit: File name should be jdk-6u##-linux-x64.bin, ## are version numbers. Move the downloaded package to your home directory. Abra o Terminal aplicativo e execute o seguinte conjunto de comandos:

sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*
sudo mkdir –p /opt/java/64/
sudo cp jdk-6u##-linux x64.como baixar e instalar Minecraft 1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.bin
./jdk-6u# # – linux-x64.bin
sair

agora, devemos adicionar JDK caminho para .bashrc

sudo gedit ~/.bashrc

Adicionar estas linhas no final do arquivo de texto

# Java Caminho
export JAVA_HOME=/opt/java/64/jdk1.6.0_##
export PATH=$PATH:$ JAVA_HOME / bin

4. Instalar Android SDK: open Terminal App

cd ~
mkdir android & & cd android
mkdir sdk

Baixar Android SDK de http://developer.android.com/sdk/index.html. Extraia o conteúdo do pacote para ~/android/sdk devemos adicionar o caminho do Android SDK para .bashrc

sudo gedit ~/.bashrc

Adicionar estas linhas ao final do arquivo de texto:

# Android SDK Caminho
export PATH=$PATH:~/android/sdk
export PATH=$PATH:~/android/sdk/platform-tools,
export PATH=$PATH:~/android/sdk/ferramentas

Agora, instalar o Android SDK Tools digitando

android

5. Configure sua conta github e repositório remoto: você pode pular esta etapa se o CyanogenMod suportar seu telefone oficialmente. Ir para github.com, e faça uma conta para si mesmo. Para este guia, estou considerando seu nome de usuário como ‘usuário’.

visita “github.com/CyanogenMod/android’, pressione o garfo. O manifesto remoto será bifurcado e estará disponível em seu repositório pessoal.

agora, vá para ‘github.com/user/android’. abra o padrão do arquivo.xml, pressione Editar. Encontre esta linha:

<projeto caminho=”android” name=”CyanogenMod/android” />

E substituir esta com

<projeto caminho=”android” name=”user/android” />

eu estou considerando o dispositivo do código-fonte do kernel, dispositivo de origem e fornecedor libs para Android 4.3 estar em

github.com/user2/kernel_source
github.com/user2/device_source
github.com/user2/device-common_source
github.com/user2/vendor

estou assumindo que o ramo a ser chamado de ‘jb4.3’. Você pode encontrar o nome exato no repo real. Em seguida, no final do arquivo, adicione essas linhas, modificando-as de acordo com o código-fonte do seu dispositivo.

<projeto path=”/kernel your_company/your_device” name=”user2/kernel_source remoto”=”github” revision=”jb4.3″ />
<projeto path=”/dispositivo de your_company/your_device” name=”user2/device_source remoto”=”github” revision=”jb4.3″ />
<projeto path=”/dispositivo de your_company/your_device-comum” name=”user2/dispositivo-common_source remoto”=”github” revision=”jb4.3″ />
<Caminho do projeto = “vendor/your_company” name = “user2 / vendor” remote=” github “revision=” jb4.3″ />

confirme suas alterações. Seu manifesto remoto está pronto para ser implantado.

6. Instalar o Repositório de Comando: Abra o Terminal e digite

cd ~
mkdir ~/bin
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo

deve-se adicionar Repo caminho .bashrc

sudo gedit ~/.bashrc

Adicionar esta linha ao final do arquivo de texto

export PATH=$PATH:~/bin

7. Buscar o código fonte ROM: Abra o Terminal e digite

mkdir ~/android/cm
cd ~/android/cm

Se você precisa de Etapa 5 e, em seguida, digite

repo init –u git://github.com/user/android.git –b cm-10.2

Se o seu dispositivo suporta o CyanogenMod 10.2 oficialmente, em seguida, digite

repo init –u git://github.com/CyanogenMod/android.git –b cm-10.2

Agora executar o

repo sync –j16

Ir tomar um café ou uma refeição, ele vai levar um longo tempo. O código-fonte tem mais de 10 GB de tamanho, então levará algum tempo.

Buscar Fonte

8. Configure o material específico do dispositivo: se o seu dispositivo suportar CyanogenMod 10.2 oficialmente, abra o Terminal e digite

cd ~ / android / cm
. build/envsetup.sh & & pequeno-almoço < device_codename>

levará algum tempo, a fonte do dispositivo tem cerca de 3 GB de tamanho. Em seguida, você precisa ter o CM10.2 Oficial instalado em seu telefone, conectá-lo ao seu PC no modo de depuração USB e executar os seguintes comandos:

adb raiz
cd ~/android/cm/device/<your_company>/<your_device>/
./extract-files.sh

Se o seu dispositivo não suporta a CyanogenMod 10.2 oficialmente, então você não tem nada para fazer nesta etapa, as fontes já estão esperando por você.

9. Baixar Material pré-construído e configurar Toolchain: terminal aberto e tipo

cd ~ / android / cm / vendor / cm
sh./ get-prebuilts

agora, devemos adicionar o caminho da cadeia de ferramentas para ./ bashrc

cd ~ / android / cm
sudo gedit ~/.bashrc

Adicionar estas linhas ao final do arquivo de texto

# Android conjunto de Ferramentas
exportar ARCH=braço
exportar CCOMPILE=$CROSS_COMPILE
exportar CROSS_COMPILE=arm eabi
export PATH=$PATH:~/android/cm/prebuilt/linux-x86/toolchain/arm eabi 4.4.3/bin

10. Construa sua ROM: então, tudo está bem e pronto. É hora de construir a ROM. Abra o Terminal e digite

cd ~ / android / cm
. build/envsetup.sh
brunch <device_codename>

hora de tirar uma soneca. Levará um zilhão de anos para construir a ROM em um computador Médio. Bem, isso foi um exagero, mas no meu PC doméstico (Core i5 2nd gen com 8GB RAM), leva mais de 3 horas para construir do zero. Esperançosamente, não haverá erros e a compilação será concluída bem. Você vai obter o pacote de saída na

~/android/cm/out/target/product/<your_device>/cm-10.2-something-UNOFFICIAL-<your_device>.zip

é hora de instalar sua ROM recém-compilada em seu telefone. Baixe o pacote do Google Apps em ” www.gosma.im / gapps ” para a versão Android apropriada. Coloque ambos os pacotes em seu telefone e flash-los no modo de recuperação. Voila, sua própria ROM compilada agora está executando seu dispositivo.

bem, então você aprendeu a compilar uma ROM. E agora?

Atualizar a Sua Origem ROM

Para buscar novas actualizações do código-fonte para o seu localmente baixado o código fonte, abra o Terminal e digite

cd ~/android/cm
repo sync –j16

Para construir a sua ROM, depois de atualizar o código-fonte, abra o terminal e e digite

cd ~/android/cm
fazer installclean
encontrar ./ out / – nome ‘ construir.como baixar e instalar … /out / – nome ‘ cm_ < your_device > – target_files-eng.*.zip ‘ / xargs rm
. build/envsetup.sh
brunch <your_device>

Desde que você não re-construção a partir do zero, mas de re-construção, como é, vai demorar muito menos tempo, apenas cerca de 15 a 30 minutos na maioria dos casos. Você deve sincronizar sua fonte local toda semana ou mais, para manter sua fonte local fresca.

Limpe seu diretório de trabalho

para limpar completamente seu diretório de trabalho (leia: retorne sua pasta de origem para a condição de estoque), abra o Terminal e digite os seguintes comandos.

cd ~ / android / cm
Faça installclean
Faça clobber

tenha em mente, que depois de executar esses comandos, todos os seus dados de saída serão removidos, então a próxima compilação levará de 3 a 4 horas novamente, pois tudo é reconstruído do zero. Se a partição do disco rígido for pequena, digamos, em torno de 100 GB, você deve limpar seu diretório de trabalho uma vez a cada 4 compilações, ou então, você ficará sem espaço no disco rígido.

Acelere sua construção por CCACHE

construir uma ROM leva muito tempo. Mas o tempo pode ser reduzido em cerca de 30-45% usando CCACHE. CCACHE significa compiler cache, ele armazena em cache a saída de compilação de suas compilações anteriores, para que possa ser reutilizado em compilações posteriores.

observe que o CCACHE precisa de muito espaço no disco rígido para armazenar o conteúdo em cache, portanto, é recomendado se e somente se a partição do disco rígido estiver em algum lugar Próximo a 200 GB ou superior. Para configurar o CCACHE, abra o Terminal e digite:Como baixar e instalar o Windows 7.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.ccache
prebuilts / misc / linux-x86 / ccache / ccache-M 50g

você pode alterar a alocação de tamanho máximo para CCACHE de 50GB para o que quiser, mas um mínimo de cerca de 30GB deve ser usado para bons resultados.

buscar Commits de outras ROMs

você pode escolher os recursos de outros ROMs código-fonte. Digamos, por exemplo, que eu queira escolher o recurso a, com ID de commit “12345” do repositório “github.com/user/reporepo”.

você navega até o pacote em seu código-fonte local e os executa no Terminal.

cd ~/<path_to_reporepo_packages>
git fetch https://github.com/user/reporepo
git cherry-pick 12345

Código-fonte Links do Famoso Android ROM Personalizado Distribuições

CyanogenMod – https://github.com/CyanogenMod
SlimROM – https://github.com/SlimRoms
ParanoidAndroid – https://github.com/ParanoidAndroid
AOKP – https://github.com/AOKP
LiquidSmooth – https://github.com/liquidsmooth
Xylon ROM –
Gelo Frio Geléia– https://github.com/IceColdJelly

Então, lá vai você de caras, um simples guia para compilar praticamente qualquer Android AOSP ROM baseado em 10 simples passos. Enquanto meu guia se concentra no CyanogenMod, você pode compilar praticamente todas as ROM AOSP por aí, apenas modificando os links do repositório. Ou, você pode apenas escolher recursos, comprometê-los, modificar coisas e criar sua própria ROM personalizada, talvez compartilhe sua ROM online também?

Deixe uma resposta

O seu endereço de email não será publicado.