sábado, 14 de agosto de 2010

Compilar FroYo para HTC Desire/Bravo

Después de buscar mucho con Google y esas cosas alguna manera de generar una ROM de Android para el HTC Desire, que es el teléfono que tengo actualmente, usando el código fuente original de Android, he encontrado bastantes cosas, pero en Ingles y un poco dispersas. Al final me he decidido a unirlas todas y hacer una guía más o menos fácil de usar que ayude a compilar dicho código fuente, eso si, usando como plataforma Ubuntu 10.04 (Lucid Lynx).

El proceso lo voy a dividir en puntos que habra que ir completando uno detrás de otro. Empecemos...

1. Preparar Ubuntu para la compilación de los fuentes de Android:
sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind
cd ~
mkdir bin
curl http://android.git.kernel.org/repo >~/bin/repo
chmod a+x ~/bin/repo
    Además es necesario tener Java (JDK y JRE) instalado en la máquina de desarrollo, pero esta instalación no es objetivo de esta guía, por lo que no lo explicaré.

2. Añadir al fichero ".bashrc" del directorio "/home/<usuario>" las siguientes lineas:
export JAVA_HOME=//usr/lib/jvm/java-6-sun-1.6.0.20/
export ANDROID_JAVA_HOME=$JAVA_HOME
export PATH=$PATH:~/bin:$JAVA_HOME/bin
alias makedroid='make -j$(grep -c processor /proc/cpuinfo) TARGET_PRODUCT=htc_bravo | tee build-$(date +%d%m%y%H%M).log'
. ~/.bashrc


y luego escribimos en la consola lo siguiente:


$ mkdir mydroid
$ cd mydroid
$ repo init -u git://android.git.kernel.org/platform/manifest.git -b froyo
$ repo sync


3. Descargar los fuentes de Defer para Desire y descomprimirlos en "~/mydroid/device/htc" y movernos al directorio "~/mydroid/device/htc/bravo"


4. Este punto es de los más importantes. Ahora tenemos que conectar el teléfono al ordenador por medio del cable USB y asegurarnos que en el teléfono tenemos seleccionada la depuración por USB. Escribimos lo siguiente:

./extract_files.sh

Si cuando termine esta orden nos falta algún fichero que no encuentra en la ROM que tenemos instalada en el teléfono, podemos descargar la ROM de DeFrost, descomprimirla y buscar los ficheros que faltan y copiarlos donde corresponda.

Es posible también y antes de continuar, que al compilar, nos de un error por tener demasiados ficheros abiertos (1024 por defecto para Ubuntu). Para evitar esto, podemos editar el fichero "/etc/security/limits.conf" y escribir en él:

<usuario>          soft       nofile          8192
<usuario>          hard       nofile          8192

Con esto será suficiente para compilar. Sólo indicar que habrá que cerrar el terminal y volver a abrirlo para que los cambios tengan efecto.

5. Empezar a compilar:

cd ~/mydroid
source build/envsetup.sh
makedroid

Una vez que termine la compilación (una hora más o menos), en el directorio "~/mydroid/out/product/target/bravo" tendremos la ROM generada, lista para ser probada.

No hay comentarios:

Publicar un comentario