PDA

Ver la Versión Completa : [ TUTORIAL ] Realiza tus propias compilaciones AOKP en la versión 4.2.2.


Veloz46
17/03/13, 21:34:10
http://www.foro-nexus.com/images/Cabezal-Web-Android.png

Buenas! aquí podréis hacer vuestras propias compilaciones de AOKP, y probar lo que hacen día a día sin esperar a que ellos lo hagan.

El titulo pone que es multi dispositivo, y así es, pero solo para los que AOKP da soporte.

Sitio oficial de AOKP: http://aokp.co/

ES NECESARIO:

-Sistema operativo Linux 64bits (debería funcionar con cualquier distro)

-Probado en Ubuntu 12.04 y 12.10 (64 bits)

-Hardware decente(minimo un doble núcleo con 4GB de RAM)

-Espacio en disco de unos 150GB (mejor que sea superior)


Paquetes requeridos:
(Son universales, valen para casi cualquier tutorial de compilado)

-Simplemente copia y pega esto en una ventana de terminal y le das al enter. (instala los siguientes paquetes, uno detrás de otro):

sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev openjdk-6-jre openjdk-6-jdk pngcrush schedtool libxml2 libxml2-utils xsltproc libc6-dev x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev mingw32 tofrodos python-markdown

sudo apt-get install g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-4.7-multilib g++-4.5-multilib

sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

sudo apt-get install optipng

Problemas con el java?
(solo si lo anterior te tira error con el java)

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java6-installer
sudo update-java-alternatives -s java-6-oracle
sudo apt-get install oracle-java6-set-default

Obtención del código Fuente

Copy/paste:

Crear directorio para el repositorio binario:

mkdir ~/bin

PATH=~/bin:$PATH

Añadir el repositorio binario:

curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo

Dar permisos al repositorio binario:

chmod a+x ~/bin/repo

Crear el directorio para el código AOKP:

mkdir ~/aokp_jb

Entrar en el directorio del código:

cd ~/aokp_jb

Inicializar el repositorio de AOKP y descargar el manifiest:

repo init -u https://github.com/AOKP/platform_manifest.git -b jb-mr1

Una vez acabada la sincronización, será necesario crear un xml por que AOKP hace compilar la mayoría de los kernel del repo de CyanogenMod, por lo que ahora vamos a crear el XML que necesitan los repos externos.

Vamos a la carpeta personal y entramos en la carpeta del código de AOKP "aokp_jb"
En la barra de herramientas superior, vamos a "ver" y luego le damos a "Mostrar archivos ocultos"

Ahora vamos a la carpeta llamada ".repo" luego a la carpeta llamada "manifests" ahora copiaremos el archivo llamado "kernel_manifest.xml" a la raíz de la carpeta ".repo" y renombramos el archivo a "local_manifest.xml"

Ahora creamos dentro de la carpeta ".repo" una nueva carpeta llamada "local_manifests" y ponemos dentro el archivo que hemos renombrado a "kernel_manifest.xml"

*Si no queremos bajar todos los códigos de los kernel por que por ejemplo solo queremos compilar para el Maguro entonces borraremos las lineas que nos sobran del nuevo archivo llamado "local_manifest.xml dejándolo así:

Abre el Spoiler para ver los ejemplos del XML:


Ejemplo Galaxy Nexus Maguro:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="kernel/samsung/tuna" name="imoseyon/leanKernel-galaxy-nexus" remote="aokp" revision="lk-jb-mr1" />
</manifest>

Ejemplo Galaxy S3 Exynos:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="kernel/samsung/smdk4412" name="android_kernel_samsung_smdk4412" remote="cm" revision="cm-10.1" />
</manifest>

Ejemplo Galaxy S2:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="kernel/samsung/smdk4210" name="android_kernel_samsung_smdk4210" remote="cm" revision="cm-10.1" />
</manifest>

Ejemplo Nexus 4:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="kernel/lge/mako" name="faux123/mako" remote="aokp" revision="enhanced_stock" />
</manifest>

Ejemplo Note II t0tle:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="kernel/samsung/smdk4412" name="android_kernel_samsung_smdk4412" remote="cm" revision="cm-10.1" />
</manifest>

Ejemplo Motorola XT910 GSM:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="kernel/motorola/omap4-common" name="android_kernel_motorola_omap4-common" remote="cm" revision="cm-10.1" />
<project path="kernel/motorola/omap4-kexec-common" name="android_kernel_motorola_omap4-kexec-common" remote="cm" revision="cm-10.1" />
</manifest>


Sync el código fuente de AOKP:

cd ~/aokp_jb

repo sync

Este paso va a tardar horas, por lo que tranquilo, en caso de que de algún error, vuelve al poner el último comando.

Iniciar la construcción:

cd ~/aokp_jb

. build/envsetup.sh && brunch

Seleccionar el terminal que quieres compilar poniendo el numero y dandole a enter.
Ya puedes esperar a que termine!

Cuando acabe la rom la encontrarás en:

Carpeta Personal/aokp_jb/out/target/product/Nombre del dispositivo.

Siempre será el archivo que diga el "aokp_unofficial....zip" este será la rom para flashear por recovery.

Para la recopilación es tan fácil como:

cd ~/aokp_jb

make clobber

repo sync

. build/envsetup.sh && brunch

Y volver a seleccionar tu dispositivo.

Este paso es totalmente necesario para poder descargar los cambios desde la última sincronización, y poder compilar de nuevo con los cambios nuevos.

http://www.foro-nexus.com/showthread.php?tid=275&pid=2514#pid2514

http://www.foro-nexus.com/showthread.php?tid=275&pid=2514#pid2514

tupie
17/03/13, 22:25:38
Muchas gracias veloz, eres un genio.

chinitiw
19/03/13, 17:39:31
Si tenéis maquina con 4 o mas núcleos podéis meter después de los repo sync -j8 o -j16 para que se usen múltiples hilos de ejecución y lo mismo para el brunch maguro -j8 por ejemplo (lo que yo uso)

Siempre para realizar compilaciones ya sea AOKP o CYANO o bien AOSP

Solo un apuntillo más el local_manifest.xml debe de ir colocado en una carpeta dentro de la que veloz indica .repo si no me equivoco se llama local_manifest, aunque os dará un aviso el propio script de donde debe de ir colocada cuando realizais el repo sync una vez moveis el archivo

tiggerbcn
19/03/13, 18:33:17
Cachis pon el el titulo que SOLO LINUXEROS, jejejejeje.
Yo es que soy antiguo y tiro de güindous

Veloz46
19/03/13, 18:38:50
Si tenéis maquina con 4 o mas núcleos podéis meter después de los repo sync -j8 o -j16 para que se usen múltiples hilos de ejecución y lo mismo para el brunch maguro -j8 por ejemplo (lo que yo uso)

Siempre para realizar compilaciones ya sea AOKP o CYANO o bien AOSP

Solo un apuntillo más el local_manifest.xml debe de ir colocado en una carpeta dentro de la que veloz indica .repo si no me equivoco se llama local_manifest, aunque os dará un aviso el propio script de donde debe de ir colocada cuando realizais el repo sync una vez moveis el archivo

No entiendo el apunte del local_manifest.xml, hay que mover el que indico, y renombrarlo, ya que ese contiene ya los enlaces a los repositorios. Una vez renombrado y en la .repo al hacer el repo sync ya lo detectará.

log30
19/03/13, 19:33:18
Esto me viene de perlas para toquetear:)

chinitiw
19/03/13, 20:41:29
No entiendo el apunte del local_manifest.xml, hay que mover el que indico, y renombrarlo, ya que ese contiene ya los enlaces a los repositorios. Una vez renombrado y en la .repo al hacer el repo sync ya lo detectará.

En las últimas que he intentado me dice que ponerlo ahí no es lo correcto (deprecated) y que se cree la carpeta y dentro de ella el fichero , con esto no digo que no funcione pero que se recomienda hacerlo así :ok:

Veloz46
19/03/13, 22:08:09
Eso da igual, el resultado es el mismo, mantiene el código actualizado de igual manera, pero si, voy a modificar los tutoriales para que lo creen hay, es un paso mas.
Al igual que, es igual de efectivo portar uno mismo el código en su carpeta de destino sin el local_manifest.xml (aun que en este último caso habrá que actualizarlo manualmente.)

P.D: a ver si te pillo por talk tengo algo que enseñarte. X-D

jcgpsevi
16/04/13, 18:48:38
Buenas tardes.
Por fin he tenido algo de tiempo y he instalado ubuntu 12.10. He empezado ha bajar el primer paquete y ala, el primer error:

dpkg: error al procesar linux-libc-dev (--configure):
no hay instalado ningún paquete llamado `linux-libc-dev', no se puede configurar
Se encontraron errores al procesar:
linux-libc-dev
E: Sub-process /usr/bin/dpkg returned an error code (1).

No he seguido instalando el segundo paquete, porque no se si esto es bueno, malo o que. Alguien me podría ilustrar
Gracias
Edito: lo he vuelto a hacer y ahora parece que no ha dado error. Ahora está sincronizando con el repositorio. Esto tarda un montonnnnnnnnnnnnnn

Veloz46
18/04/13, 05:26:11
Ya compilaste? O te dio problemas?

jcgpsevi
06/05/13, 21:21:19
Ya compilaste? O te dio problemas?
Compilado sin problemas
Ahora estoy con otra batalla. Estoy intentando meter en la compilación cosas que aún no están aprobadas, es decir open. Lo hago todo manualmente. es decir que bajo cada archivo y lo cambio. ¿No hay alguna forma de bajarse todos los archivos que contiene de una vez? es que si tiene dos o tres vale, pero si son más es muy tedioso.
Gracias por el manual.