Isto NÃO fará uma ROM completamente funciona, mas é o ponto de partida ideal. E também NÃO consigo corrigir todos os erros encontrados.
Por favor usem o Pastebin para todos os erros encontrados. Postar o link é muito mais fácio do que uma lista enorme de erros aqui na thread.
Nota: O download do código fonte é de 6GB. Precisam de 25GB livres para compilar uma build, e cerca de 80GB ou mais para um conjunto completo de builds. O Ubuntu/Debian deverá ser a versão de 64bits e ter-se no minimo 2gb de ram na máquina.
1) Precisam:
-JDK 6 se quiseres compilar Jellybean.
$ sudo apt-get install openjdk-6-jdk
-Python 2.4 -- 2.7, que podem sacar em python.org. Ou:
$ sudo apt-get install python
-Git 1.7 ou mais recente. Que podem encontrar em git-scm.com. Ou:
$ sudo apt-get install git-core
-Android SDK' class='bbc_url' title='Link Externo' rel='nofollow external'>http://www.androidpt.info/index.php?title=SDK']SDK:
- Saquem o SDK[/url] aqui: http://developer.and.../sdk/index.html
- Extraim o SDK' class='bbc_url' title='Link Externo' rel='nofollow external'>http://www.androidpt.info/index.php?title=SDK']SDK e colocquem-no na directoria home.
- Eu renomeei o SDK' class='bbc_url' title='Link Externo' rel='nofollow external'>http://www.androidpt.info/index.php?title=SDK']SDK para android-SDK[/url] para facilitar a coisa.
- Naveguem até á directoria Home, e carreguem Ctrl+H para mostrar os files escondidos e abram o ficheiro .bashrc.
- Adicionem estas linhas no final do ficheiro
# Android tools export PATH=${PATH}:~/android-[acrlink='http://www.androidpt.info/index.php?title=SDK'][acrlink='http://www.androidpt.info/index.php?title=SDK'][acrlink='http://www.androidpt.info/index.php?title=SDK'][acrlink='http://www.androidpt.info/index.php?title=SDK']SDK[/acrlink][/acrlink][/acrlink][/acrlink]/tools export PATH=${PATH}:~/android-[acrlink='http://www.androidpt.info/index.php?title=SDK'][acrlink='http://www.androidpt.info/index.php?title=SDK'][acrlink='http://www.androidpt.info/index.php?title=SDK'][acrlink='http://www.androidpt.info/index.php?title=SDK']SDK[/acrlink][/acrlink][/acrlink][/acrlink]/platform-tools export PATH=${PATH}:~/bin
- Encontrem o ficheiro .profile e adicionem estas linhas no final do ficheiro:
PATH="$HOME/android-[acrlink='http://www.androidpt.info/index.php?title=SDK'][acrlink='http://www.androidpt.info/index.php?title=SDK'][acrlink='http://www.androidpt.info/index.php?title=SDK'][acrlink='http://www.androidpt.info/index.php?title=SDK']SDK[/acrlink][/acrlink][/acrlink][/acrlink]/tools:$HOME/android-[acrlink='http://www.androidpt.info/index.php?title=SDK'][acrlink='http://www.androidpt.info/index.php?title=SDK'][acrlink='http://www.androidpt.info/index.php?title=SDK'][acrlink='http://www.androidpt.info/index.php?title=SDK']SDK[/acrlink][/acrlink][/acrlink][/acrlink]/platform-tools:$PATH"
- Acabaram de instalar o Android SDK' class='bbc_url' title='Link Externo' rel='nofollow external'>http://www.androidpt.info/index.php?title=SDK']SDK.
- Se quiserem ver se existem updates, intruduzam isto no terminal
$ android
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \ x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \ libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \ libxml2-utils
Em versões recencentes do Ubuntu como a 11.10 poderá ser necessário fazer:
$ sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
Construir os packs no Ubuntu 12.04 está em fase experimental e não é liquido que funcione.
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \ libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \ libgl1-mesa-dev g++-multilib mingw32 openjdk-6-jdk tofrodos \ python-markdown libxml2-utils xsltproc zlib1g-dev:i386 $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
3) Configurar as entradas USB.
$ gksudo gedit /etc/udev/rules.d/51-android.rules
No file vazio introduzir:
#Acer SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666" #ASUS SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666" #Dell SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0666" #Foxconn SUBSYSTEM=="usb", ATTR{idVendor}=="0489", MODE="0666" #Garmin-Asus SUBSYSTEM=="usb", ATTR{idVendor}=="091E", MODE="0666" #Google SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666" #HTC SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666" #Huawei SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666" #K-Touch SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", MODE="0666" #KT Tech SUBSYSTEM=="usb", ATTR{idVendor}=="2116", MODE="0666" #Kyocera SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0666" #Lenevo SUBSYSTEM=="usb", ATTR{idVendor}=="17EF", MODE="0666" #LG SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666" #Motorola SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666" #NEC SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666" #Nook SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0666" #Nvidia SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0666" #OTGV SUBSYSTEM=="usb", ATTR{idVendor}=="2257", MODE="0666" #Pantech SUBSYSTEM=="usb", ATTR{idVendor}=="10A9", MODE="0666" #Philips SUBSYSTEM=="usb", ATTR{idVendor}=="0471", MODE="0666" #PMC-Sierra SUBSYSTEM=="usb", ATTR{idVendor}=="04da", MODE="0666" #Qualcomm SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666" #SK Telesys SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", MODE="0666" #Samsung SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666" #Sharp SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0666" #Sony Ericsson SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666" #Toshiba SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666" #ZTE SUBSYSTEM=="usb", ATTR{idVendor}=="19D2", MODE="0666"
4) Salvar o ficheiro e no final correr o seguinte comando:
$ sudo chmod a+r /etc/udev/rules.d/51-android.rules
5) Instalar o repo
$ mkdir ~/bin $ PATH=~/bin:$PATH $ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo $ chmod a+x ~/bin/repo
6) Iniciar o repo:
$ mkdir WORKING_DIRECTORY $ cd WORKING_DIRECTORY $ repo init -u https://android.googlesource.com/platform/manifest -b android-4.1.1_r1
6.1) Para os que já haviam iniciado o repo:
$ cd WORKING_DIRECTORY $ repo init -b android-4.1.1_r1 $ repo sync
7) Quando necessário introduzir o vosso nome e e-mail.
8) Reunam os files:
$ repo sync
9) E compilem:
$ source build/envsetup.sh
Or:
$ . build/envsetup.sh
10) Issue:
$ lunch
11) Escolham o que vos aprouver.
12) Now issue (The '#' is the number of cores your processor has plus 1, ex. I have a dual core processor so I type 'make -j3':
$ make -j#
~How To Add A Device To The List~
1) Encontrem o github para o telemóvel que queiram adicionar. (NEste caso é para o HTC Evo 3D CDMA)
2) Agora naveguem até á localização para onde vão clonar o a tree:
$ cd WORKING_DIRECTORY/device $ mkdir htc
3) Clonem a github tree do vosso telemovel de remote para local; (The shooter would be whatever you want that folder to be named so make sure it is whatever standard name would be for your device, example: Nexus One [passion], Nexus S [crespo], Motorola Droid [sholes], HTC Incredible [inc], etc.)
$ git clone git://github.com/CyanogenMod/android_device_htc_shooter.git shooter
4) Naveguem até à segiunte pasta:
$ cd shooter
5) Liguem o telemovel ao computador em modo USB debugging is enabled para ficarem com [url="http://www.androidpt.info/index.php?title=ADB"] adb' class='bbc_url' title='Link Externo' rel='nofollow external'>http://www.androidpt.info/index.php?title=ADB']adb.
6) Extraiam os ficheiros proprietários:
$ ./extract-files.sh
7) Naveguem até á pasta home para compilarem:
$ cd ~/WORKING_DIRECTORY
8) Preparem-se para compilarem:
$ source build/envsetup.sh
ou:
$ . build/envsetup.sh
9) Procurem a lista de aparelhos:
$ lunch
10) Escolham o vosso.
11) Agora compilem:
$ make -j#
Ou se quiserem construir um zip flashsavel:
$ make -j# otapackage
~FIXES~
Se encontrarem problemas como:
Which would you like? [full-eng] 5 build/core/product_config.mk:209: *** No matches for product "full_shooter". Stop. Device shooter not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod). Repository for shooter not found in the CyanogenMod Github repository list. If this is in error, you may need to manually add it to your local_manifest.xml. build/core/product_config.mk:209: *** No matches for product "full_shooter". Stop. ** Don't have a product spec for: 'full_shooter' ** Do you have the right repo manifest?
O que têm de fazer é editar as coisas até que coincidam o PRODUCT_NAME com o nome do ficheiro. Neste caso temos o full_shooter.mk e temos por isso fazer coincidir o PRODUCT_NAME com isto. Qualquer que seja o erro, basta apenas mudar a linha do PRODUCT_NAME de acordo com os erros reportados.
Se encontrarem problemas decorrentes da versão Java ser a ncorrecta ou não ser a mais recente, façam isto para corrigir o problema:
Certifiquem-se que o Java 6 JDK está instalada fazendo:
$ java -versionAbram o o ficheiro main.mk da build/core e apaguem a linha da secção de erro da java:
$(error stop)
fonte: [url="http://forum.xda-developers.com/showthread.php?t=1762641"]http://forum.xda-dev...d.php?t=1762641
Editado por lemmon, 21 July 2012 - 14:10.