ROMs y desarrollo Samsung Galaxy Nexus ROMs y desarrollo Samsung Galaxy Nexus

Respuesta
 
Herramientas
  #1  
Viejo 18/04/12, 00:07:16
Array

[xs_avatar]
raulgm raulgm no está en línea
Usuario muy activo
· Votos compra/venta: (14)
 
Fecha de registro: jul 2008
Localización: Badaloní
Mensajes: 5,032
Modelo de smartphone: Iphone 11
Tu operador: O2
¡Hell's Kitchen! Manual del cocinitas. Teoria, Tutoriales, How-To's y más... **En desarrolo** Actualizado 20/07/12



Bueno pues me decido a hacer un mega tutorial/curso de creación de roms para nuestros cacharros, y para que todos los que tengais/tengamos inquietudes tengamos un hilo de soporte y de guia para algunas cosas. El texto aún esta desarrollandose asi que de momento no hay gran cosa pero espero poder abarcar todos los aspectos desde la teoria inicial hasta la compilación AOSP pasando por la edición de código smali y algunos ejemplos.

De momento empezamos con los puntos básicos.

Índice
1.- Introducción a la cocina
1.1.-
Tipos de rom
1.2.-
Organización de archivos en una rom formato update.zip

2.-
Decompilación y compilación de apk's
2.1.- Deodexar/Odexar

2.2.- Apktool decompilado de apk's


3.- Creación de nuestra primera rom
3.1
dsixda kitchen

4.- Ejemplos de mods
4.1 Añadir 4way reboot
4.2 Multitarea horizontal tipo wp7
4.3 Centra el reloj


5.-
Compilación de Android desde código fuente (AOSP)
__________________
Su publicidad aquí por solo 3.99€ al mes

Última edición por raulgm Día 18/04/12 a las 23:59:12.
Responder Con Cita
Los siguientes 31 usuarios han agradecido a raulgm su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]


  #2  
Viejo 18/04/12, 00:08:00
Array

[xs_avatar]
raulgm raulgm no está en línea
Usuario muy activo
· Votos compra/venta: (14)
 
Fecha de registro: jul 2008
Localización: Badaloní
Mensajes: 5,032
Modelo de smartphone: Iphone 11
Tu operador: O2
1.- Introducción a la cocina
Cocinar
una rom no es más que crear una rom a tu gusto, con cambios, modificaciones y personalizaciones varias. La gracia de esto es poder añadir funcionalidades que echemos en falta a nuestras roms. Por tanto los que creamos roms modificadas a nuestro gusto se nos denomina comunmente cocineros (algunos hasta tienen rango... :-P ). Los cocineros avanzados y con conocimientos en java pueden incluso desarrollar hasta sus propias partes de código para añadirlo al ya existente en la rom, este tipo de cocineros son también denominados desarrolladores. Un cocinero puede no tener ni papa de desarrollo (aunque acabas aprendiendo...) y un desarrollador puede no tener ni idea de cocinar una rom, aunque tampoco es lo habitual

1.1.- Tipos de rom


La división de las roms es bastante clara hay 2 tipos las que he hecho yo, y el resto... .
Después de este chiste inicial para rebajar tensiones, nos ponemos serios, las 2 divisiones básicas que hay para identificar una rom, son las que parten de la rom stock para un terminal, y las que parten del AOSP (Android open source project).

Stock -> Rom oficial que ofrece un fabricante para su terminal.
Ejemplos para el Gnexus -> rAv (Si, es la mia si no la has probado ya tardas... ) AndroidRevolution HD, Modaco

Aosp -> Android, es un sistema operativo de código abierto y cada uno puede compilarlo para su terminal si sabe como, para esto existe el AOSP que es ni más ni menos que el nombre que recibe el proyecto que se encarga de gestionar este "open source" y donde google comparte el código fuente de android para que otros desarrolladores lo usen a su antojo
Ejemplos para el Gnexus -> Aokp, Miui, Cyanogenmod, FoxHound, SuperOsr, etc...

1.2
Organización de archivos en una rom formato update.zip

Para empezar hemos de conocer como están distribuidos los archivos en el terminal.
· Las aplicaciones y archivos de sistema estan en /system
· Los apks del sistema estan en /system/app
· El framework está en /system/framework
· Las aplicaciones del usuario estan en data/app
...
Estas son las más importantes, pero hay más, (falta desarrollar...)

Ahora, un archivo update.zip se compone de minimo 2 carpetas y un archivo
· La carpeta que siempre ha de haber es la META-INF que contiene los scripts de instalación de la rom. El más importante el updater-script que es la guia de todo el proceso de instalación
· La carpeta SYSTEM donde se incluyen los apk y liberias de la rom
· Un archivo boot.img que entre otras cosas incluye el kernel de la rom
Adicionalmente la rom puede contener una carpeta DATA donde se incluiran los apk que se vayan a instalar en la rom o una carpeta SDCARD si queremos enviar alguna archivo a la memoria interna y/o SD


__________________
Su publicidad aquí por solo 3.99€ al mes

Última edición por raulgm Día 19/04/12 a las 00:00:44.
Responder Con Cita
Los siguientes 17 usuarios han agradecido a raulgm su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]
  #3  
Viejo 18/04/12, 00:08:19
Array

[xs_avatar]
raulgm raulgm no está en línea
Usuario muy activo
· Votos compra/venta: (14)
 
Fecha de registro: jul 2008
Localización: Badaloní
Mensajes: 5,032
Modelo de smartphone: Iphone 11
Tu operador: O2
2.- Decompilación y compilación de apk's

Compilar en ámbito informático es obtener el objeto ejecutable del código fuente tecleado en el proceso de desarrollo, por tanto al proceso de reingenieria que partiendo de un archivo apk obtiene como resultado el código fuente del apk lo llamamos decompilar.


El código fuente de android está escrito en un lenguaje prácticamente idéntico a java, teniendo en archivos classes.dex el objeto ejecutable de un apk. De este archivo .dex no podemos obtener los archivos .java pero el desarrollador jesusfreke creo una herramienta llamada smali/Baksmali que lo que permite es ensamblar/desensamblar (smali/baksmali es la traducción de ensamblar/desensamblar del islandés), ya que el resultado obtenido es una especie de lenguaje ensamblador, un apk.


Si quereis indagar más ->
http://code.google.com/p/smali
Además debeis saber que el código smali esta basado en el código jasmin -> http://jasmin.sourceforge.net/guide.html

Por tanto el proceso que hacemos para obtener el código de un apk no es realmente decompilar aunque comunmente todo el mundo lo denomine así.


Bien pues después de este desarrollo, otro desarrollador en este caso Brut.All construyó una herramienta llamada apktool que lo que hacia era automatizar los proceso de ensamblaje/desensamblaje (a partir de ahora compilado/decompilado) de un apk y que no solo permitia obtener el código fuente de un apk (smali) sino que también es capaz de obtener las imagenes y los recursos.


2.1 Deodexar/Odexar


Antes era un proceso complejo, ahora es más sencillo, solo os voy a decir eso a modo de introducción. Deodexar, es el hecho de incluir el fichero classes.dex dentro del apk. Originalmente las apks del sistema de las roms son odexados, es decir tienen el fichero apk, y ademas tienen un fichero con mismo nombre y extensión .odex que es el que contienen el classes.dex (y por tanto el código fuente) pues bien, la mayoria de customs roms y de cara a obtener la mayor posibilidad de personalización son deodexadas, es decir que incluyen en un único archivo todo. Porque digo la mayor posibilidad de personalización? pues simple, el apktool decompila el apk completo. Por tanto de un tirón has decompilado la parte de imagenes, recursos y además el código fuente.


Más información:
http://code.google.com/p/smali/wiki/DeodexInstructions

En el capítulo 4 veremos los sencillo que realizar deodexaciones con la cocina de dsixda, pero a partir de ahora daremos por sentado que todo lo que se explica es sobre una rom DEODEXADA


2.2 Apktool


Como os he dicho antes, esta es una herramienta para el decompilado de apk, y su sintaxis es la siguiente:

java -jar apktool.jar <opcion> <archivo>

Donde las posibles opciones son muchas pero destacaré 3:
* if -> carga los recursos del archivo especificado
* d -> decompila el archivo especificado
* b -> compila (contstruye, build) la carpeta especificada


En el apktool casí siempre encontrareis un apktool.bat para agilizar las llamadas y que funcione únicamente escribiendo, por ejemplo:

Apktool if framework-res.apk

Pero un momento! No os apresureis a descargarla de su pagina oficial en google code, pues os voy a ofrecer una solución más simple aún. A partir de apktool han ido apareciendo otras herramientas creando entornos algo más agrables que tener que teclear comandos desde la ventana ms-dos (Aunque para algunos casos veremos que seguirá siendo necesario) una de ellas es Apk Manager.

El problema desde la aparición de ICS es que no han hecho más que petar las herramientas de decompilación/compilación debido a cambios realizados en las classes por Google. Además Samsung ha modificado unos valores en sus binarios que tampoco permitian la decompilación correcta de los archivos, y desde entonces han ido apareciendo versiones más nuevas de apktool que decompilaban bien pero compilaban mal, y viceversa. Han existido mil tutos de cómo compilar y decompilar en ICS pero el compañero wanam en xda se ha currado un Apk manager con los archivos apktool.jar y aapt.exe parcheados para poder compilar y decompilar correctamente, así además nos podremos beneficiar a la hora de trabajar con el apk en un entorno más agradable (desde ms-dos, pero más agradable)

Lo podeis bajar de aquí

Bien, como funciona? Pues simplemente descomprimir, y poner en la carpeta place-apk-here-for-modding el apk que querais decompilar (ojo las dependencias y recursos) yo por si acaso pondria también siempre en esta carpeta el framework-res.apk de la rom que esteis usando ya que en caso necesario él solo coge sus dependencias




Pues nada esto es tan simple como pulsar opción 9 + intro, al cabo de unos segundos tendreis dentro de la carpeta Apk_Manager_ICS/projects una carpeta con el nombre de vuestro apk decompilado



Ahora ya podeis editar a vuestro antojo los xml’s, imágenes y smali que querais.

Una vez finalizado ya podeis compilar (opción 11 + intro). Tened en cuenta cuando editeis apk del sistema que hay que intentar mantener las firmas originales de los apks, pero no os preocupeis, el propio apk manager en el momento de la compilación os preguntará si es una aplicación del sistema (de las que van a /system)



En caso que respondais que si, os preguntará que si para mantener las firmas originales y preveer errores quereis copiar todos los archivos originales que no hayais modificado en el archivo apk resultante, en este caso también teneis que responder que si, lo que provocará que apk manager extraiga todas las imágenes y xml del apk original en la carpeta keep.




Una vez hecho esto el apk manager os dirá que borreis los archivos que hayais modificado de la carpeta keep y que además si habeis tocado codigo xml o smali, elimineis también el resources.arsc



Una vez echo esto obtendréis en la carpeta place-apk-for-modding un archivo con el mismo nombre que el que estabais editando pero con el prefijo unsigned, ya podeis coger el apk, llevarlo a otro sitio para renombrarlo, eliminar el unsigned y pasarlo al teléfono, ahora dependerá de vuestras modificaciones que este funcione o no



Esto es lo que concierne al decompilado de apks, ahora vamos con el decompilado de jar

... en desarrollo ....


__________________
Su publicidad aquí por solo 3.99€ al mes

Última edición por raulgm Día 18/04/12 a las 23:58:22.
Responder Con Cita
Los siguientes 19 usuarios han agradecido a raulgm su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]
  #4  
Viejo 18/04/12, 00:08:46
Array

[xs_avatar]
raulgm raulgm no está en línea
Usuario muy activo
· Votos compra/venta: (14)
 
Fecha de registro: jul 2008
Localización: Badaloní
Mensajes: 5,032
Modelo de smartphone: Iphone 11
Tu operador: O2
3.- Creación de nuestra primera rom
https://docs.google.com/document/d/1...D9AcOqccs/edit
__________________
Su publicidad aquí por solo 3.99€ al mes

Última edición por raulgm Día 20/07/12 a las 12:38:18.
Responder Con Cita
Los siguientes 17 usuarios han agradecido a raulgm su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]
  #5  
Viejo 18/04/12, 00:09:23
Array

[xs_avatar]
raulgm raulgm no está en línea
Usuario muy activo
· Votos compra/venta: (14)
 
Fecha de registro: jul 2008
Localización: Badaloní
Mensajes: 5,032
Modelo de smartphone: Iphone 11
Tu operador: O2
4.- Ejemplos de mods
4.1 Añadir 4way reboot
4.2 Multitarea horizontal tipo wp7
4.3 Centrar el reloj de la barra de tareas
__________________
Su publicidad aquí por solo 3.99€ al mes
Responder Con Cita
Los siguientes 15 usuarios han agradecido a raulgm su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]
  #6  
Viejo 18/04/12, 00:10:08
Array

[xs_avatar]
raulgm raulgm no está en línea
Usuario muy activo
· Votos compra/venta: (14)
 
Fecha de registro: jul 2008
Localización: Badaloní
Mensajes: 5,032
Modelo de smartphone: Iphone 11
Tu operador: O2
5.- Compilación de Android desde código fuente (AOSP)
__________________
Su publicidad aquí por solo 3.99€ al mes
Responder Con Cita
Los siguientes 13 usuarios han agradecido a raulgm su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]
  #7  
Viejo 18/04/12, 00:11:20
Array

[xs_avatar]
raulgm raulgm no está en línea
Usuario muy activo
· Votos compra/venta: (14)
 
Fecha de registro: jul 2008
Localización: Badaloní
Mensajes: 5,032
Modelo de smartphone: Iphone 11
Tu operador: O2
De aquí para abajo es vuestro, si teneis dudas que quereis resolver o alguna propuesta de tema a tratar podeis hacerlas como os digo el hilo está en desarrollo así que poco a poco iré añadiendo cosas

Saludos
__________________
Su publicidad aquí por solo 3.99€ al mes

Última edición por raulgm Día 18/04/12 a las 00:13:27.
Responder Con Cita
Los siguientes 15 usuarios han agradecido a raulgm su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]
  #8  
Viejo 18/04/12, 00:14:24
Array

[xs_avatar]
soulfuric soulfuric está en línea ahora
Vendedor verificado
· Votos compra/venta: (92)
 
Fecha de registro: jul 2010
Localización: La Coruña
Mensajes: 7,459
Modelo de smartphone: Nexus 5
Tu operador: Orange
Muy buena idea y te lo agradezco enormemente tío.

Sent from my Galaxy Nexus using Tapatalk 2
Responder Con Cita
  #9  
Viejo 18/04/12, 00:29:26
Array

[xs_avatar]
tiggerbcn tiggerbcn está en línea ahora
Colaborador/a
 
Fecha de registro: oct 2009
Localización: en mi casa
Mensajes: 15,103
Tu operador: Vodafone

Pues si enorme idea la tuya, porque dices que los smali son nuestros enemigos???, con la de cosas que se retocan ahi, jejejejejeje.
Yo estoy encabezonado en que salga la imagen del contacto a tamaño completo o por lo menos a un tamaño bueno pero que se vea toda la foto no solo la parte de arriba, me refiero cuando recibimos la llamada, estoy bastante pesado con el tema, pero es que me toca la moral, jejejejeje, no se porque lo han hecho asi los cerebritos de Google, porque queda como el culo que podamos ponerle unas imagenes de calidad y que no podamos verlas enteras
Muchas gracias
Responder Con Cita
  #10  
Viejo 18/04/12, 00:34:00
Array

[xs_avatar]
AlexT2 AlexT2 no está en línea
Usuario muy activo
 
Fecha de registro: feb 2009
Localización: Las Palmas G,.C.
Mensajes: 1,260
Modelo de smartphone: Galaxy note 2, Xiaomi redmi note 4 Mi note 10 Pro
Tu operador: Vodafone
Esto de hacerte tu propia rom es un sueño, quien sabe si algún ida.......gracias por tu trabajo
Responder Con Cita
  #11  
Viejo 18/04/12, 00:35:06
Array

[xs_avatar]
dcm_R dcm_R no está en línea
Usuario muy activo
· Votos compra/venta: (2)
 
Fecha de registro: abr 2011
Localización: canarias
Mensajes: 1,403
Modelo de smartphone: Xiaomi mi 9
Tu operador: Finetwork
buen trabajo estoy deseando que lo termines ( sin prisas eh jejeje) para probar yo.
Responder Con Cita
  #12  
Viejo 18/04/12, 01:30:18
Array

[xs_avatar]
deo_t90 deo_t90 no está en línea
Usuario muy activo
 
Fecha de registro: jun 2011
Localización: Madrid
Mensajes: 1,182
Modelo de smartphone: S1, GNex, N5, G3
Tu operador: Movistar
muchas gracias por estos manuales!!
__________________
LG G3
| Simple. Beautiful. Beyond Smart. |
Responder Con Cita
  #13  
Viejo 18/04/12, 08:31:05
Array

[xs_avatar]
logi43 logi43 no está en línea
Betatester
· Votos compra/venta: (61)
 
Fecha de registro: nov 2010
Localización: BcN
Mensajes: 7,087
Modelo de smartphone: Probando...
Tu operador: Vodafone
Gracias por compartir tus conocimientos con todos nosotros.
un saludo
__________________

Responder Con Cita
  #14  
Viejo 18/04/12, 09:10:30
Array

[xs_avatar]
dawiid dawiid no está en línea
Usuario poco activo
 
Fecha de registro: feb 2012
Mensajes: 50
Modelo de smartphone: Nexus 5x
Tu operador: Simyo
Entonces si descomprimo el zip de una rom y meto el apk de titanium backup en la carpeta data y vuelvo a comprimir todo de nuevo, se deberia instalar titanium backup con la instalación de la rom ¿verdad?
Es que al abrir el market tras instalar la rom, me empieza a descargar todo lo que anteriormente tenia, antes de dejarme instalar el titanium y es un coñazo.
Responder Con Cita
  #15  
Viejo 18/04/12, 09:21:44
Array

[xs_avatar]
raulgm raulgm no está en línea
Usuario muy activo
· Votos compra/venta: (14)
 
Fecha de registro: jul 2008
Localización: Badaloní
Mensajes: 5,032
Modelo de smartphone: Iphone 11
Tu operador: O2
 Cita: Originalmente Escrito por dawiid Ver Mensaje
Entonces si descomprimo el zip de una rom y meto el apk de titanium backup en la carpeta data y vuelvo a comprimir todo de nuevo, se deberia instalar titanium backup con la instalación de la rom ¿verdad?
Es que al abrir el market tras instalar la rom, me empieza a descargar todo lo que anteriormente tenia, antes de dejarme instalar el titanium y es un coñazo.
No es tan fácil no... primero para mantener las firmas NO has de descomprimir la rom sino solo abrirla con un programa que mantenga las firmas (recomiendo usar 7zip). Además la carpeta data deberá existir sinó aparte de añadir el apk del titanium a la carpeta data deberas añadir las lineas al updater-script para que monte /data durante la instalación de la rom y copie el apk a la partición /data

El updater-script no es más que un script que gestiona toda la instalación de la rom en las particiones de la memoria, os hablaré de él en el capitulo 3

Si la rom ya contiene una carpeta data, solo abriendo el zip con el 7zip y arrastrando el apk a la carpeta /data del zip ya te deberia funcionar

Saludos
__________________
Su publicidad aquí por solo 3.99€ al mes

Última edición por raulgm Día 18/04/12 a las 09:24:18.
Responder Con Cita
  #16  
Viejo 18/04/12, 09:21:54
Array

[xs_avatar]
icemigue icemigue no está en línea
Usuario muy activo
· Votos compra/venta: (14)
 
Fecha de registro: nov 2011
Localización: Cordoba
Mensajes: 1,366
Tu operador: O2

 Cita: Originalmente Escrito por dawiid Ver Mensaje
Entonces si descomprimo el zip de una rom y meto el apk de titanium backup en la carpeta data y vuelvo a comprimir todo de nuevo, se deberia instalar titanium backup con la instalación de la rom ¿verdad?
Es que al abrir el market tras instalar la rom, me empieza a descargar todo lo que anteriormente tenia, antes de dejarme instalar el titanium y es un coñazo.
Y eso como es?? yo ya he instalado dos roms, y nunca se me han instalado solas las aplicaciones, que hay que activar??
Responder Con Cita
  #17  
Viejo 18/04/12, 09:22:45
Array

[xs_avatar]
icemigue icemigue no está en línea
Usuario muy activo
· Votos compra/venta: (14)
 
Fecha de registro: nov 2011
Localización: Cordoba
Mensajes: 1,366
Tu operador: O2

ups, se me pasaba, muxas gracias por el post, una pregunta, entonces las aokp que son una variante de las aosp??
Responder Con Cita
  #18  
Viejo 18/04/12, 09:33:01
Array

[xs_avatar]
artec artec no está en línea
Usuario muy activo
· Votos compra/venta: (10)
 
Fecha de registro: ago 2008
Localización: Santiago
Mensajes: 1,899
Tu operador: R Móvil

Raulgm, ya estas tardando en desarrollar en punto 2. No veas la lata que me esta dando el compilar alguna app de miui.


Desde mi iPad 2 con IOS5 y Tapatalk 
Responder Con Cita
  #19  
Viejo 18/04/12, 09:35:45
Array

[xs_avatar]
raulgm raulgm no está en línea
Usuario muy activo
· Votos compra/venta: (14)
 
Fecha de registro: jul 2008
Localización: Badaloní
Mensajes: 5,032
Modelo de smartphone: Iphone 11
Tu operador: O2
 Cita: Originalmente Escrito por icemigue Ver Mensaje
ups, se me pasaba, muxas gracias por el post, una pregunta, entonces las aokp que son una variante de las aosp??
aokp es el nombre del grupo/proyecto que mantiene esta rom, esta basado en aosp

el código se publica en los repositorios de google, luego los desarrolladores copian y pegan a piñon el código en sus propios repositorios hacen sus modificaciones (kang) y lo vuelven a lanzar

Pero esto lo veremos en el capitulo 5

Saludos
__________________
Su publicidad aquí por solo 3.99€ al mes
Responder Con Cita
Gracias de parte de:


  #20  
Viejo 18/04/12, 10:04:37
Array

[xs_avatar]
chimpi91 chimpi91 no está en línea
Usuario muy activo
· Votos compra/venta: (2)
 
Fecha de registro: dic 2010
Localización: Tenerife/Madrid
Mensajes: 1,222
Modelo de smartphone: Galaxy S7
Tu operador: MasMóvil
vaya!! genial hilo tio!!! en cuanto lo acabes voy a hacerme mi primera rom, a mi gusto
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Foros Samsung > Otros smartphones de Samsung antiguos > Samsung Galaxy Nexus > ROMs y desarrollo Samsung Galaxy Nexus



Hora actual: 23:09:01 (GMT +2)



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

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