Cocina para Android Subforo exclusivo para Cocina para Android

Respuesta
 
Herramientas
  #1  
Viejo 03/06/09, 10:13:28
Array

[xs_avatar]
ridli ridli no está en línea
Cocinero veterano
 
Fecha de registro: may 2009
Mensajes: 333
Tu operador: Vodafone

Arrow Como compilar android

Vamos a partir de la idea de que todos tenemos unos conocimientos medios de linux así que lo primero de todo es tener en cuenta que para poder compilar Android necesitamos un sistema de archivos que haga diferencia entre Mayúsculas y minúsculas (case sensitive), es algo obligatorio y que necesitaremos ciertas herramientas necesarias para compilar.

Aclaro que con esto compilamos el source de android, por lo tanto el resultado sera una build ADP y lo mas seguro es que tengas que cambiar el SPL para poder instalarla.

Para Mac con xcode, macports, gmake libsdl, git-core y gnupg seria suficiente, mientras que para linux necesitaremos algo mas... git-core, gnupg, sun-java5-jdk, flex, bison, gperf, libsdl-dev, libesd0-dev, libwxgtk2.6-dev, build-essential, zip, curl, libncurses5-dev, zlib1g-dev segun la distribucion de linux que tengas se necesitaran mas o menos cosas y como no tener instalado correctamente el SDK de Android.

Los pasos que indicare son usados en Mac, pero en linux han de ser los mismos.

1) Descargar la aplicación REPO con la que podremos descargar los distintos proyecto de Android.

Código:
curl http://android.git.kernel.org/repo > /bin/repo
chmod a+x /bin/repo

2) Crear una carpeta para nuestro proyecto.

Código:
mkdir /<donde yo quiera>/cupcake

3) Empezamos a descargar el source

Código:
cd /<ruta>/cupcake
repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake 
Dentro de nuestro directorio CUPCAKE ahora tendremos un directorio oculto llamado .repo en el cual vienen una serie de archivos que la aplicacion REPO tomara como referencia para saber que ha de descargase del source y que no.

Si editamos el archivo manifest.xml
Código:
cd .repo
nano manifest.xml
Podemos ver como estan definidos todos los proyectos que nos vamos a descargar asi como indicada su version en el caso de disponer de ello como por ejemplo con el kernel.
 Cita:
<project path="kernel"
name="kernel/common"
revision="refs/heads/android-2.6.27" />
En esta ultima linea podemos indicar que en vez de descargar el source del kernel 2.6.27 se descargue el 2.6.29, 2.6.30-rc1, etc...
Si no decidimos modificar nada podemos proceder a descargar todo el codigo fuente de android para luego compilarlo.
Código:
repo sync
 Cita:
usamos el parámetro -b para indicar un proyecto en concreto, cupcake, master, donut,... esto tardara varios minutos en descargarse.


Ahora ya tenemos descargado el Source de Android, pero esto solo nos serviría para compilar algo genérico y que no nos serviría demasiado para un HTC DREAM o MAGIC, hace falta descargar una serie de archivos mas específicos para nuestro terminal.

4) Descargamos el local_manifest.xml del siguiente enlace http://source.android.com/documentation/building-for-dream/local_manifest.xml?attredirects=0 y lo copiamos en la siguiente ruta

Código:
/<ruta>/cupcake/.repo
Si tenéis algún problema con el enlace el contenido de local_manifest.xml es el siguiente:

 Cita:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remove-project name="kernel/common"/>
<project path="kernel" name="kernel/msm" revision="refs/heads/android-msm-htc-$
<project path="vendor/htc/dream" name="platform/vendor/htc/dream"/>
<project path="hardware/msm7k" name="platform/hardware/msm7k"/>
</manifest>

5) Ahora volvemos a sincronizar desde la raiz del proyecto.

Código:
repo sync
esto tardara algunos minutos en descargar lo necesario.

6) Ya tenemos lo necesario para compilar el source de android para una HTC DREAM o MAGIC pero nos hacen falta algunas librerías para evitar problemas, para eso tenemos que conectar el teléfono por USB al ordenador ya que vamos a tener que sacar las librerías de este, una vez conectado haremos lo siguiente ya que primero hay que modificar el script para extraer una libreria la cual muchas veces el compilador no es capaz de compilar bien.

Código:
cd vendor/htc/dream
nano extract-files.sh
hay que añadir una linea al final del script

 Cita:
adb pull /system/lib/libOmxCore.so propietary/libOmxCore.so

Ahora ya podemos ejecutar el script

Código:
 ./extract-files.sh

este script nos descargara del teléfono las librerías necesarias mediante adb.

7) Por ultimo copiamos una pequeña plantilla de configuración del SO, volvemos a la raiz del proyecto y hacemos lo siguiente.

Código:
cp build/buildspec.mk.default buildspec.mk
editamos buildspec.mk y descomentamos la linea #TARGET_PRODUCT
 Cita:
Antes
 Cita:
#TARGET_PRODUCT:=generic
 Cita:
Después
 Cita:
TARGET_PRODUCT:=htc_dream
Con esto no compilamos especificamente para HTC DREAM, ya que no hay un repositorio de MAGIC se usa el de DREAM porque el hardware es el mismo y el teclado fisico no es mas que un añadido, ademas es la forma de indicarle al compilador que use las librerias, kernel, etc.. que hemos descargad antes y que no genere una build generica.

8) Ya podemos empezar a compilar

Código:
make
o si tenemos un procesador decente con doble nucleo..
Código:
make -j2
En el caso de que al intentar compilar nos aparezca un error parecido a este (en linux):
external/qemu/sockets.c: In function 'sock_address_init_resolve':
external/qemu/sockets.c:637: error: 'EAI_NODATA' undeclared (first use
in this function)
external/qemu/sockets.c:637: error: (Each undeclared identifier is
reported only once
external/qemu/sockets.c:637: error: for each function it appears in.)
make: *** [out/host/linux-x86/obj/EXECUTABLES/emulator_intermediates
sockets.o] Error 1
Nuestro compañero crebaindamme nos ha encontrado una solucion http://www.pocketmagic.net/?p=682 Resumo lo que hay que hacer.
1) Editamos el archivo sockets.c ubicado en external/qemu
Código:
nano /<ruta>/external/qemu/sockets.c
2) añadimos la siguiente linea #define __USE_GNU antes de #include <netdb.h>
 Cita:
Antes:
# include <netinet/tcp.h>
# include <netdb.h>
# if HAVE_UNIX_SOCKETS
 Cita:
Despues:
# include <netinet/tcp.h>
# define __USE_GNU
# include <netdb.h>
# if HAVE_UNIX_SOCKETS
Ahora ya podemos volver a intentar Compilar
Código:
Make ( o Make -j2 )



Cuando termine de compilarse en out/target/product/dream tendremos las imágenes generadas, system.img recovery.img, boot.img ademas de lo binarios, aplicaciones y todo el contenido de las imagenes.

Código:
-rw-r--r-- 1 ridli staff 12B 20 may 22:04 android-info.txt
-rw-r--r-- 1 ridli staff 1,6M 21 may 17:59 boot.img
-rw-r--r-- 1 ridli staff 285B 30 may 00:17 clean_steps.mk
drwxr-xr-x 3 ridli staff 102B 21 may 17:40 core
drwxr-xr-x 2 ridli staff 68B 20 may 22:03 data
-rw-r--r-- 1 ridli staff 14K 30 may 00:18 installed-files.txt
-rwxr-xr-x 1 ridli staff 1,4M 9 may 02:14 kernel
drwxr-xr-x 12 ridli staff 476B 21 may 18:12 obj
-rw-r--r-- 1 ridli staff 47B 30 may 00:17 previous_build_config.mk
-rw-r--r-- 1 ridli staff 373K 30 may 00:18 ramdisk-recovery.img
-rw-r--r-- 1 ridli staff 143K 21 may 17:58 ramdisk.img
drwxr-xr-x 3 ridli staff 102B 30 may 00:18 recovery
-rw-r--r-- 1 ridli staff 1,8M 30 may 00:18 recovery.img
drwxr-xr-x 8 ridli staff 442B 21 may 17:58 root
drwxr-xr-x 4 ridli staff 170B 21 may 17:58 symbols
drwxr-xr-x 10 ridli staff 374B 21 may 18:04 system
-rw------- 1 ridli staff 46M 30 may 00:18 system.img
-rw------- 1 ridli staff 2,1K 21 may 17:57 userdata.img

Ahora nos queda lo mas importante, comprobar que nuestro trabajo esta bien hecho y para ello vamos a usar las herramientas del SDK de Android, vamos a la carpeta donde tengamos el SDK y entramos en el directorio tools que es donde estan las herramientas que vamos a necesitar.

1) Comprobar que tenemos creado un dispositivo virtual (AVD) sobre la que usar nuestras imagenes.

Código:
./android list avd
Available Android Virtual Devices:
Name: cupcake
Path: /Users/ridli/.android/avd/cupcake.avd
Target: Android 1.5 (API level 3)
Skin: HVGA
---------
Name: master
Path: /Users/ridli/.android/avd/master.avd
Target: Android 1.1 (API level 2)
Skin: HVGA
Como se ve tengo 2 dispositivos virtuales creados, master y cupcake, en el caso de que no aparezca ninguno hay que crearlo para poder trabajar sin complicaciones.
 Cita:
-c --sdcard Path to a shared SD card image, or size of a new sdcard for the new AVD
-s --skin Skin of the new AVD
-p --path Location path of the directory where the new AVD will be created
-n --name Name of the new AVD [required]
-t --target Target id of the new AVD [required]
-f --force Force creation (override an existing AVD)

Target 1 = master (1.1)
Target 2 = cupcake (1.5)

Código:
./android create avd -n <nombre> -t 2
Android 1.5 is a basic Android platform.
Do you wish to create a custom hardware profile [no] no
Created AVD 'cupcake' based on Android 1.5
Ahora ya tendriamos creado un AVD de cupcake sobre el que trabajar.

2) Procederemos a iniciar el emulador de android con nuestra imagen de system para comprobar su funcionamiento.

Código:
./emulator -avd <nombre> -system /<ruta del proyecto>/out/target/product/dream/system.img
Tras unos segundos o algun minuto tendremos nuestro emulador funcionando con nuestra imagen de cupcake.



Si veis alguna cosa masl en el tutorial, algo que se deba de matizar un poco mas no dudeis en avisarme para que lo arregle/cambie

Última edición por ridli Día 14/07/09 a las 16:43:31.
Responder Con Cita
Los siguientes 10 usuarios han agradecido a ridli su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]


  #2  
Viejo 03/06/09, 10:33:02
Array

[xs_avatar]
crebaindamme crebaindamme no está en línea
Cocinero veterano
 
Fecha de registro: abr 2009
Localización: Arganda del Rey
Mensajes: 655
Modelo de smartphone: BQ Aquaris M5 (32Gb+3Gb)
Tu operador: Pepephone
Gran aporte Ridli... Muy bueno, cuando tenga tiempo me pondre a hacer pruebas.
Para mi este post y el de crear un update.zip merecen chincheta.
Responder Con Cita
  #3  
Viejo 03/06/09, 12:53:44
Array

[xs_avatar]
kakadeluxe kakadeluxe no está en línea
Betatester oficial
· Votos compra/venta: (2)
 
Fecha de registro: nov 2008
Localización: Soy Gato ;)
Mensajes: 1,387
Modelo de smartphone: Meizu M2 Note
Tu operador: Movistar
Gracias ridli
__________________
No atiendo consultas sobre Meizu M2 Note y/o Android por privado, usad el foro que para algo está. Dispositivo: Meizu M2 Note ~®oot~
Responder Con Cita
  #4  
Viejo 03/06/09, 16:23:24
Array

[xs_avatar]
vierco vierco no está en línea
Android Dev
· Votos compra/venta: (1)
 
Fecha de registro: may 2008
Localización: Pamplona
Mensajes: 6,095
Modelo de smartphone: Nexus varios
Tu operador: Orange
Estas hecho un crack tio
Gracias ;)
Responder Con Cita
  #5  
Viejo 04/06/09, 10:45:45
Array

[xs_avatar]
ridli ridli no está en línea
Cocinero veterano
 
Fecha de registro: may 2009
Mensajes: 333
Tu operador: Vodafone

gracias a vosotros y espero que os sirva de ayuda.

De todas formas veo muchas visitas y pocos comentarios, no se si es que en algun punto os da error o esta mal redactado.. no se..
Responder Con Cita
  #6  
Viejo 04/06/09, 12:44:54
Array

[xs_avatar]
kakadeluxe kakadeluxe no está en línea
Betatester oficial
· Votos compra/venta: (2)
 
Fecha de registro: nov 2008
Localización: Soy Gato ;)
Mensajes: 1,387
Modelo de smartphone: Meizu M2 Note
Tu operador: Movistar
 Cita: Originalmente Escrito por ridli Ver Mensaje
gracias a vosotros y espero que os sirva de ayuda.

De todas formas veo muchas visitas y pocos comentarios, no se si es que en algun punto os da error o esta mal redactado.. no se..
Hola ridli.

A mi me interesa mucho este Tema pero me has pillado muy ocupado en este mes, cuando termine las tareas me meteré en ello y ya te comentare cosas, aqui o en tu foro habitual.

Salu2.
__________________
No atiendo consultas sobre Meizu M2 Note y/o Android por privado, usad el foro que para algo está. Dispositivo: Meizu M2 Note ~®oot~
Responder Con Cita
  #7  
Viejo 05/06/09, 19:48:09
Array

[xs_avatar]
kakadeluxe kakadeluxe no está en línea
Betatester oficial
· Votos compra/venta: (2)
 
Fecha de registro: nov 2008
Localización: Soy Gato ;)
Mensajes: 1,387
Modelo de smartphone: Meizu M2 Note
Tu operador: Movistar
Estoy intentando hacer una compilacion. Como no indicas si ha que hacerlo como root o como usuario normal.

Por ejemplo, el 1er. comando no me deja hacerlo como usuario sino como superusuario root
curl http://android.git.kernel.org/repo > /bin/repo

Este otro lo hago como usuario y sale errores.
 Cita:
repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake
Traceback (most recent call last):
File "/bin/repo", line 590, in <module>
main(sys.argv[1:])
File "/bin/repo", line 557, in main
_Init(args)
File "/bin/repo", line 176, in _Init
_CheckGitVersion()
File "/bin/repo", line 205, in _CheckGitVersion
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE)
File "/usr/lib64/python2.6/subprocess.py", line 595, in __init__
errread, errwrite)
File "/usr/lib64/python2.6/subprocess.py", line 1106, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
__________________
No atiendo consultas sobre Meizu M2 Note y/o Android por privado, usad el foro que para algo está. Dispositivo: Meizu M2 Note ~®oot~
Responder Con Cita
  #8  
Viejo 05/06/09, 20:52:25
Array

[xs_avatar]
ridli ridli no está en línea
Cocinero veterano
 
Fecha de registro: may 2009
Mensajes: 333
Tu operador: Vodafone

Al principio aclaro que hay que tener unos conocimientos medios de linux/unix porque al igual que para hacer cualquier modificacion en bin (he puesto bin por poner un sitio, que tambien podia ser ~/bin ) o instalar las librerias o aplicaciones necesarias seria necesario quizas buscar un poco por si algun repositorio no las tiene. Es que sino el manual ha de ser mucho mas extenso porque habria que explicar de donde sacar librerias que no estan en respositorios algunas veces, ojo que no digo que no que seas una patata con linux, sino que algunas cosas no las he puesto por eso.

Me parece que ese error te sale por no tener instalado GIT.

Última edición por ridli Día 05/06/09 a las 21:28:03.
Responder Con Cita
  #9  
Viejo 08/06/09, 23:10:07
Array

[xs_avatar]
crebaindamme crebaindamme no está en línea
Cocinero veterano
 
Fecha de registro: abr 2009
Localización: Arganda del Rey
Mensajes: 655
Modelo de smartphone: BQ Aquaris M5 (32Gb+3Gb)
Tu operador: Pepephone
Hola Ridli... He intentado hacer una compilación... Hago todo el proceso, pero al final cuando estoy haciendo el make me sale el siguiente error, y deja de compilar:

host C: emulator <= external/qemu/sockets.c
external/qemu/sockets.c: En la función ‘sock_address_init_resolve’:
external/qemu/sockets.c:637: error: ‘EAI_NODATA’ no se declaró aquí (primer uso en esta función)
external/qemu/sockets.c:637: error: (Cada identificador no declarado solamente se reporta una vez
external/qemu/sockets.c:637: error: para cada funcion en la que aparece.)
make: *** [out/host/linux-x86/obj/EXECUTABLES/emulator_intermediates/sockets.o] Error 1

¿Sabes a que se puede deber? Yo creo que falta alguna configuración... En fin, ya me contaras.
Un saludo
Responder Con Cita
  #10  
Viejo 09/06/09, 12:57:41
Array

[xs_avatar]
crebaindamme crebaindamme no está en línea
Cocinero veterano
 
Fecha de registro: abr 2009
Localización: Arganda del Rey
Mensajes: 655
Modelo de smartphone: BQ Aquaris M5 (32Gb+3Gb)
Tu operador: Pepephone
Hola... acabo de encontrar una solución... a ver si la pruebo hoy al medio día y os digo algo. Aquí está:
http://www.pocketmagic.net/?p=682

Ridli, seguramente sería importante ponerlo en el primer post. Bueno... lo pruebo primero y luego comento.


En este link viene el añadido de como ejecutar codigo C en android.
Un saludo.

Última edición por crebaindamme Día 09/06/09 a las 13:13:51.
Responder Con Cita
  #11  
Viejo 09/06/09, 16:27:38
Array

[xs_avatar]
crebaindamme crebaindamme no está en línea
Cocinero veterano
 
Fecha de registro: abr 2009
Localización: Arganda del Rey
Mensajes: 655
Modelo de smartphone: BQ Aquaris M5 (32Gb+3Gb)
Tu operador: Pepephone
Bueno chicos... después de hora y media compilando... pude comprobar mediante el emulador que si!!! He compilado mi primera rom de Android (claro está que no era mía si no de Google, pero es un primer paso), con lo cual el link que puse antes solucionó el problema.
Ahora el siguiente paso es saber si se podría cargar esa rom en el telefono mediante :
fastboot flash system system.img
O cómo se podría hacer un update.zip a partir de esto...
En fin... seguiré buscando cositas a ver si encuentro algo.
Un saludo
Responder Con Cita
  #12  
Viejo 09/06/09, 17:53:46
Array

[xs_avatar]
ridli ridli no está en línea
Cocinero veterano
 
Fecha de registro: may 2009
Mensajes: 333
Tu operador: Vodafone

Siento no haberte contestado pero ando con muchas cosas encima y apenas tengo tiempo, me.

El problema que tiene Linux es que hay tantas distros y cada una la tiene instalado cada cual como quiere que es algo dificil saber que hace falta y que no hace falta, por lo que veo en tu mensaje es un problema del compilador y por la solucion que has puesto es eso mismo, ahora mismo lo añado.

Como hacer un update.zip lo tienes en otro hilo, ademas de que lo hice para trabajar desde una version compilada del source, de todas formas para instalar tu build lo puedes hacer como tu dices.

1) arrancar desde fastboot
2) fastboot erase system.
3) fastboot flash system /<ruta>/system.img

Depende de la version que tengas previamente instalada te hara falta hacer wipe o cambiar el boot.
Responder Con Cita
  #13  
Viejo 09/06/09, 18:26:12
Array

[xs_avatar]
crebaindamme crebaindamme no está en línea
Cocinero veterano
 
Fecha de registro: abr 2009
Localización: Arganda del Rey
Mensajes: 655
Modelo de smartphone: BQ Aquaris M5 (32Gb+3Gb)
Tu operador: Pepephone
Ok... Gracias Ridli. Si, tienes razón, cuando había leido el otro post no me había dado cuenta de que hacías el update zip con una imagen precompilada, pensé que simplemente modificabas otro update.zip. Ahora lo acabo de ver... Bien, el miedo que tengo es con el contenido del update-script que no lo entiendo muy bien:
¿Si lo haces mal... simplemente te da fallo y no instala el update o lo instala igualmente y cascas la rom instalada anteriormente?
El boot no tiene nada que ver con el recovery ¿no?
Como ves ando un poco pez con algunas cosillas, pero al menos ya estoy metiendo mano y probando (que no es poco jejejejejjejejje).
Ah... quería saber tambien qué aplicaciones sería bueno meter para no perder el acceso root ¿bastaría con el Superuser.apk?, me supongo que no, que habría que meter algo más o tocar en alguna otra parte ¿no?

No te preocupes por lo de no haber contestado... te entiendo perfectamente
Un saludo
Responder Con Cita
  #14  
Viejo 09/06/09, 19:02:33
Array

[xs_avatar]
ridli ridli no está en línea
Cocinero veterano
 
Fecha de registro: may 2009
Mensajes: 333
Tu operador: Vodafone

Hmm... Superuser.apk es una aplicacion que te permite controlar el acceso como root, no para evitar perderlo.
Boot.img es el arranque del telefono mientras que recovery es un modo recuperacion que no tiene nada que ver con el arranque normal. La estructura del boot.img no es muy diferente entre una version y otra, lo unico medianamente importante es el kernel, pero teniendo cupcake instalado no deberias de tener muchos problemas en cambiar de una version a otra sin cambiar el Boot, depende como te digo de que tenias antes instalado pero de toda formas nunca viene mal instalar el nuevo boot para evitar problemas.

Volviendo al tema del root.. mientras que con una version "oficial" tienes que hacer una copia del SH en Cupcake directamente tienes un binario que lo controla pero este hace un chequeo del uid del usuario que lo ejecuta, si no coincide con el de root o con alguno de los grupos que han de tener permiso te dice que lo intentes otro dia, las soluciones que tienes son sencillas.
Borras la imagen de system, cambias el SU por uno ya modificado y vuelves a empaquetarlo todo con Make
Código:
rm -rf out/target/product/dream/system.img
rm -rf out/target/product/dream/obj/PACKING/systemimage_unopt_intermediates/system.img
cp </ruta su modificado>/su out/target/product/dream/system/bin/
make
Con esto lo modificas y vuelves a empaquetar system.img

o bien modificas su.c antes de compilar (o despues borrando las versiones pre-compiladas y compiladas en out/... y vuelves ha compilar/empaquetar) y editas lo siguiente:
Código:
nano system/extras/su/su.c
 Cita:
Antes:
int main(int argc, char **argv)
{
struct passwd *pw;
int uid, gid,muid;
 Cita:
Despues:
int main(int argc, char **argv)
{
struct passwd *pw;
int uid, gid;
 Cita:
Antes:
} else {
uid = pw->pw_uid;
gid = pw->pw_gid;
}
}

/* Until we have something better, only root and the shell can use su. *
myuid = getuid();
if (myuid != AID_ROOT && myuid != AID_SHELL) {
fprintf(stderr,"su: uid %d not allowed to su\n", myuid);
return 1;
}

if(setgid(gid) || setuid(uid)) {
fprintf(stderr,"su: permission denied\n");
 Cita:
Despues:
} else {
uid = pw->pw_uid;
gid = pw->pw_gid;
}
}

if(setgid(gid) || setuid(uid)) {
fprintf(stderr,"su: permission denied\n");
Responder Con Cita
  #15  
Viejo 09/06/09, 19:17:08
Array

[xs_avatar]
crebaindamme crebaindamme no está en línea
Cocinero veterano
 
Fecha de registro: abr 2009
Localización: Arganda del Rey
Mensajes: 655
Modelo de smartphone: BQ Aquaris M5 (32Gb+3Gb)
Tu operador: Pepephone
Muchas gracias Ridli... Lo probare, ya te contaré que tal.
Un saludo
Responder Con Cita
  #16  
Viejo 10/06/09, 10:33:27
Array

[xs_avatar]
crebaindamme crebaindamme no está en línea
Cocinero veterano
 
Fecha de registro: abr 2009
Localización: Arganda del Rey
Mensajes: 655
Modelo de smartphone: BQ Aquaris M5 (32Gb+3Gb)
Tu operador: Pepephone
Bueno... he tenido unos problemillas con mi linux y no he podido compilar. Pero ya he visto donde se cambia el tema. El caso es que se me queda colgado en la mitad del proceso make (creo q igual se pega algo de lo que tengo instalado con lo que tuve q instalar para compilar android... o eso, o se queda corto de memoria), así que reinstalare el SO (cuando tenga un ratillo) y probaré de nuevo. El caso es q me paso un par de veces cuando lo intente la primera vez... pero al final lo conseguí. Ahora es completamente imposible.

En fin, ya os contaré.
Un saludo
Responder Con Cita
  #17  
Viejo 10/06/09, 16:18:27
Array

[xs_avatar]
ridli ridli no está en línea
Cocinero veterano
 
Fecha de registro: may 2009
Mensajes: 333
Tu operador: Vodafone

Pega un pantallazo de como se te queda por si es problema de la compilacion, si ya has compilado antes e intentas volver a compilar porque has añadido una aplicacion o has modificado algo del source tienes que borrar las imagenes afectadas al igual que los binarios compilados que has modificado en el source, si no lo haces no te modifica nada y de algun mensaje raro.

Si modificas el SU por ejemplo ademas de borrar las imagenes de system tambien hay que borrar el binario compilado, que se me fue la pinza :P

out/target/product/dream/obj/EXECUTABLES/su_intermediates/LINKED/su
out/target/product/dream/obj/EXECUTABLES/su_intermediates/su
out/target/product/dream/symbols/system/bin/su
out/target/product/dream/system/xbin/su
Responder Con Cita
  #18  
Viejo 10/06/09, 17:08:47
Array

[xs_avatar]
crebaindamme crebaindamme no está en línea
Cocinero veterano
 
Fecha de registro: abr 2009
Localización: Arganda del Rey
Mensajes: 655
Modelo de smartphone: BQ Aquaris M5 (32Gb+3Gb)
Tu operador: Pepephone
Jajajajajaja... no, no te preocupes. Creo q el problema esta en el Linux, que al requerir de bastante memoria para compilar me deja el procesador petado, o eso, o es una incompatibilidad entre el compilador y alguna otra aplicación que tenía por ahí. Ahora al medio día he vuelto a instalar el SO, todavía me falta terminar de ponerlo a punto para probar de nuevo. Ya te contaré.

Gracias por este último aporte (tomo nota).
Una preguntilla... una vez compilado, en out/target/product/dream se encuentra toda la estructura de directorios que se van a incluir en la imagen. Si introduzco una aplicación ya compilada como apk en la estructura (eliminando claro está la imagen anterior), al volver a hacer el make ¿esa aplicación quedaría metida en la imagen para poder probar la rom en el emulador o por el contrario hay que meterla desde el origen (en codigo java) y realizar el make completo?
Tengo más preguntas pero creo que llendo poquito a poco y descubriendo cosas aprenderé más. Además no quiero agobiarte con una ristra de preguntas.... De todos modos cuando me quede atascado ya te comentare.
Muchas gracias por todo.
Un saludete
Responder Con Cita
  #19  
Viejo 10/06/09, 17:59:09
Array

[xs_avatar]
ridli ridli no está en línea
Cocinero veterano
 
Fecha de registro: may 2009
Mensajes: 333
Tu operador: Vodafone

 Cita: Originalmente Escrito por crebaindamme Ver Mensaje
Jajajajajaja... no, no te preocupes. Creo q el problema esta en el Linux, que al requerir de bastante memoria para compilar me deja el procesador petado, o eso, o es una incompatibilidad entre el compilador y alguna otra aplicación que tenía por ahí. Ahora al medio día he vuelto a instalar el SO, todavía me falta terminar de ponerlo a punto para probar de nuevo. Ya te contaré.

Gracias por este último aporte (tomo nota).
Una preguntilla... una vez compilado, en out/target/product/dream se encuentra toda la estructura de directorios que se van a incluir en la imagen. Si introduzco una aplicación ya compilada como apk en la estructura (eliminando claro está la imagen anterior), al volver a hacer el make ¿esa aplicación quedaría metida en la imagen para poder probar la rom en el emulador o por el contrario hay que meterla desde el origen (en codigo java) y realizar el make completo?
Tengo más preguntas pero creo que llendo poquito a poco y descubriendo cosas aprenderé más. Además no quiero agobiarte con una ristra de preguntas.... De todos modos cuando me quede atascado ya te comentare.
Muchas gracias por todo.
Un saludete
Pasa lo mismo que si añades un binario ya compilado, si borras las imagenes previas de system (las 2), añades el apk en system/app y compilas directamente te genera las imagenes con el apk que has introducido. Las dudas esta bien postearlas porque asi ayuda n a mas gente, me da la impresion de que el tuto no es muy claro, si consideras que hay cosas que cambiar o aclarar dilo y lo vamos adecentandolo.
Responder Con Cita


  #20  
Viejo 10/06/09, 18:11:04
Array

[xs_avatar]
crebaindamme crebaindamme no está en línea
Cocinero veterano
 
Fecha de registro: abr 2009
Localización: Arganda del Rey
Mensajes: 655
Modelo de smartphone: BQ Aquaris M5 (32Gb+3Gb)
Tu operador: Pepephone
Ok... lo probare y ya os contaré...
Con respecto a las dudas, también pienso lo mismo, por eso voy poniendo más o menos los progresos que voy haciendo. Una de las dudas más gordas que tengo y que estuve buscando (pero todavía no encontré por ahí nada claro) es con el update-script para crear el update.zip (lo único que encontré fué un post de Jesus Freak que decía que había que mirar el código fuente del recovery, y era lo que tenía pensado hacer): la duda viene de la asignación de permisos a cada elemento. Me explico, cuando haces el set_perm se le asigna mediante un codigo, lo que yo entiendo como permiso de ejecución. El problema estriba en el código introducido ya que no encontré en ninguna parte un manual claro que diga que código hay que meter para un determindado permiso (no se si me he explicado).
Por lo demás y hasta el punto en el que estoy creo que los manuales se siguen correctamente y son muy claros. En cualquier caso te iré comentando.
Un saludo.
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > La Cocina de ROMs > Cocina para Android



Hora actual: 03:25:58 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /