Acceder

Ver la Versión Completa : KITCHEN ROM [Curso de Cocina MIUI]Introducción y Deodexado de ROMs MIUI[by JamFlux]


jamflux
06/05/16, 03:56:17
Buenas amig@s HTCManiac@s.

Introducción breve:

Con este breve tutorial pretendo incentivar entre muchos el espíritu de crear y modificar ROMs MIUI. Mis conocimientos los baso en mi teléfono, es un RedMi Note 3 MTK (hennessy como nombre único de identificación para desarrolladores), y en lo que he ido aprendiendo de tanto buscar e indagar por internet en diversos foros chinos, rusos, gringos y en español.
La cosa no es fácil de comprender pero la pretendo compartir de una manera muy entendible.

Publico este curso sólo acá, en el foro HTCManía porque es un foro hispanohablante, y qué mejor que los nuevos cocineros hablen nuestro idioma.

Objetivo General: incentivar el espíritu de la modificacion de ROMs entre hispanohablantes, para que el tema de desarrollo de ROMs no sea sólo de ingenieros informáticos sino de fans android en general.

Objetivos Secundarios: compartir todo conocimiento que se vaya adquiriendo, no ser egoístas entre nosotros, ya que así fortaleceremos el entorno android en español. Y ¿quién no va a querer las mejores ROMs con soporte nativo en español?

GLOSARIO EN EL MUNDO ANDROID

-Desarrollador: persona o grupo que se encarga de crear aplicaciones, parches y plataformas en distintos tipos de lenguaje informático.
En el caso nuestro, ellos desarrollan los firmwares Android para nuestros dispositivos, sean móviles, tablets o televisores.

-Cocinero: persona o grupo que, con espíritu de mejorar una ROM de algún desarrollador, busca la manera de optimizar y/o actualizar una ROM determinada mediante conocimientos intermedios o avanzados de la plataforma android.

-ROM: son las siglas en inglés de Read-Only Memory, esto es, memoria de solo lectura, y es donde se instala el FIRMWARE que permite funcionar al teléfono. Aquí se alberga el sistema operativo Android con las pertinentes adaptaciones que cada fabricante suele incluir, configurado adecuadamente para que interactúe de la mejor forma posible con el hardware presente en cada terminal... si la cosa no va tan bien y la ROM tiene muchas cosas por mejorar, aquí es donde intervienen los cocineros.

-Acceso ROOT: en sistemas operativos del tipo Unix, root (o superusuario) es el acceso a funciones avanzadas y archivos del dispositivo que, por defecto, están bloqueadas al usuario. El acceso libre a la raíz del sistema es una entrada para el desarrollo y mejoramiento del sistema en sí o un abismo infinito hacia el mal funcionamiento o la pérdida total del dispositivo.

-Soft brick y Hard brick: el primero hace referencia al estado en que el dispositivo android no enciende su pantalla debido a una instalación defectuosa de una ROM o una configuración dañina dentro del sistema, es probable la recuperación del dispositivo.

El segundo tipo de estado hace referencia a la muerte del dispositivo android debido a un mal flasheo (instalación) de las particiones de arranque, de una ROM dirigida a otro tipo de dispositivo o de una configuración dañina dentro del sistema. En la mayoría de casos el dispositivo no se puede recuperar, si se logra recuperar el procedimiento es realizado mediante test points y herramientas avanzadas de programación y hardware.

-Framework android: es un esquema (un esqueleto, un patrón) para el desarrollo y/o la implementación de una aplicación y en ROMs basadas en android hace referencia a la base android de Google que implementa (android 1 del 2008 hasta android 7 del 2017).

-Odexar y Deoexar: en el sistema Android las aplicaciones vienen en paquetes con la extensión ".APK", estos paquetes vienen acompañados por archivos ".odex" cuya función es acelerar el tiempo de arranque inicial de una aplicación. Estos archivos ".odex" en realidad son partes de la aplicación que se cargan en memoria (Dalvik-cache) antes de arrancar la aplicación lo que hace que la aplicación cargue más rápido. A éste proceso se le conoce como odexado. La mayoría de ROMs de fabricantes de dispositivos móviles vienen odexadas, ofreciendo un poco más de rendimiento pero evitando en lo posible la modificación de aplicaciones.

Deodexar es básicamente el reempaquetado del ".APK", al hacer esto, todos los archivos de un paquete de aplicaciones se unen en uno nuevo, lo que elimina la posibilidad de conflicto entre un .APK modificado con su .odex separado.
En resumen, Deodexar una APK es poner todos los archivos de la aplicación en un nuevo paquete único, eliminando las partes .odex, lo que permite una fácil modificación de la aplicación.

-->CAPÍTULO 1
DEODEXAR ROM O FIRMWARE MIUI ORIGINAL

Lo primero que hace un cocinero de ROMs es deodexar la ROM, puesto que su intención es modificar las aplicaciones y los procesos del framework correspondientes.

-PASOS

1. Descargo la ROM MIUI original, en mi caso para el RedMi Note 3 con procesador MTK de la siguiente página web: http://en.miui.com/download-301.html#440 bajaré la versión estable comprimida en un archivo .zip.
http://uploads.tapatalk-cdn.com/20160506/c0ec2eaa2ae6e852ca333033796b2be7.jpg

2. Descargo la herramienta para deodexar la ROM basada en android 5.0.2:
Web del desarrollador: http://forum.xda-developers.com/galaxy-s5/general/tool-deodex-tool-android-l-t2972025
Enlace de descarga: http://forum.xda-developers.com/attachment.php?attachmentid=3676496&d=1457540681

3. Extraigo y copio la carpeta de la ROM descargada a la raíz del disco de almacenamiento de mi computador (C:, D:, etc), en mi caso copio la carpeta en D:system
http://uploads.tapatalk-cdn.com/20160506/ddb340740b0441d1bebe129106100a40.jpg

4. Extraigo la herramienta (SVA Deodexer For Art) para deodexar la ROM en una carpeta también en la unidad D:SVADeodexerForArtx32

5. Abro la herramienta, en el ícono de los tres puntos busco la carpeta system en la unidad D; luego de ello, marco las casillas framework, app y priv-app. Pulso sobre ejecutar y espero a que termine el proceso, casi 10 minutos. Cerrar la aplicación cuando el proceso termine, y dirigirme a la ruta donde está la aplicación. Habrán tres carpetas que nos interesan, ya que han sido las deodexadas.
http://uploads.tapatalk-cdn.com/20160506/4b129570a97338452f9c4f51be814e76.jpg

6. Abrir el archivo .zip de la ROM original, voy a system --> framework y arrasto a la carpeta framework de la herramienta deodexadora las dos carpetas llamadas "framework-ext-res" y "mediatek-res" ya que el programa deodexador ha olvidado añadirlas. También añado esa misma carpeta framework del deodexador a el archivo modificado "services.jar" (https://www.androidfilehost.com/?fid=24531035584725342) propio de la versión de la ROM que bajé (7.2.5.0), ya que sin éste archivo el nuevo sistema instalado en mi teléfono va a quedar en modo (bootloop), que es un reinicio infinito, nunca me va a cargar correctamente el sistema en el móvil.
http://uploads.tapatalk-cdn.com/20160506/161da9c92865c679294d1992a551e428.jpg

Nota 1: este error obedece a que la capa del sistema android llamada MIUI 7 tiene un protocolo de seguridad en el archivo services.jar el cual hace una verificación de firmas de algunas aplicaciones, y como esas aplicaciones han sido deodexadas, la firma original se pierde imposibilitando la carga correcta de la capa MIUI 7.

El parche para services.jar lo descargas, lo descomprimes y pegas a la carpeta framework generada por el deodexador.

Último services.jar parchado por mi: versión 6.5.5 beta (https://www.androidfilehost.com/?fid=24531035584725356)

7. Borras del .zip de la ROM original las carpetas APP, FRAMEWORK Y PRIV-APP sin remordimiento alguno, usando WinRar. Terminada la eliminación de las carpetas, seleccionas y arrastras las mismas carpetas de la herramienta deodexadora al .zip original de la ROM. Esperar a que el proceso termine sin error.
http://uploads.tapatalk-cdn.com/20160506/fdf4a589ad1507634967a683c280c4b9.jpg

Copia el archivo .zip de la ROM al almacenamiento del teléfono. Instala la ROM con el recovery modificado TWRP, pero antes debes hacer un Factory Reset, que es una limpieza de la ROM anterior, en el menú WIPE, deslizas en esa primera pestaña.

Espera a que termine la ROM de instalar. Reinicia y espera unos 10 minutos a que cargue toda la ROM-
Hasta éste punto sabrás que eres un cocinero en sus primeros pasos.
http://uploads.tapatalk-cdn.com/20160506/01ebf1c5513560167cd96a156726aa32.jpg
¡Felicidades!

Nota 2: aprender a deodexar correctamente me llevó varios días. Aprender el parche de seguridad para services.jar mucho más tiempo ya que los equipos que cocinan para MIUI tales como xiaomi.eu, miuipro.ru, multirom.me y miui.su no te enseñan por más que preguntes sobre esos parches. Son muy secretistas.

-->CAPÍTULO 2
EXTRAER SYSTEM.IMG DESDE EL MÓVIL PARA FLASHTOOL CON PROCESADORES MTK DE 64BITS

Ir al post original: Extraer system.img para sistemas mtk de 64bits (http://www.htcmania.com/showthread.php?t=1203206)

maps0005
06/05/16, 07:52:52
Me quito el sombrero, enorme post y muchas gracias jamflux. Un cursillo de cocina básica, si señor, gran idea !!!!

abelyluisa
06/05/16, 09:24:11
Excelente idea y muchas gracias por el pedazo de trabajo. Leeré todo al dedillo, pero no me veo metiendo mano. Pero no está de más aprender un poco. De nuevo muchas gracias.

Enviado desde mi Redmi Note 3 mediante Tapatalk

iyoke69
06/05/16, 09:29:28
Excelente idea y trabajo, gracias

Enviado desde mi HUAWEI RIO-L01 mediante Tapatalk

Chinosandman
06/05/16, 09:47:53
Acojonante!!!

Salu2 y mil gracias.

DuraAdri
06/05/16, 12:42:28
Excelente

Enviado desde mi Redmi Note 3 mediante Tapatalk

richiespi
06/05/16, 18:24:01
Brutal, espero con ansia los siguientes tutoriales

Darivi
06/05/16, 18:36:01
Se nota que lo tienes claro y lo dices que parece fácil, pero yo seguiré confiando en expertos cocineros como tú, yo no llego ni a pinche

jamflux
06/05/16, 19:31:08
Se nota que lo tienes claro y lo dices que parece fácil, pero yo seguiré confiando en expertos cocineros como tú, yo no llego ni a pinche

Jaja, me hiciste reír.
Saludos.

sergiovb92
06/05/16, 19:44:57
Impresionante, esperando próximas partes.

Enviado desde mi Redmi Note 3 mediante Tapatalk

dantegtr
07/05/16, 09:38:33
Pillo sitio

Enviado desde mi Redmi Note 3 mediante Tapatalk

sstefan57
07/05/16, 10:58:43
Excelente ! Hiciste un gran trabajo !

Gracias !!!!!

ppolp21
08/05/16, 01:35:11
Enorme! Me viene de lujo, que grande eres :D

ppolp21
10/05/16, 10:23:13
Fui a deodexar MIUI, y no tiene carpeta system :v

jamflux
10/05/16, 15:56:35
Fui a deodexar MIUI, y no tiene carpeta system :v

Claro que tiene.
Baja las oficiales.

ppolp21
10/05/16, 17:42:19
Claro que tiene.
Baja las oficiales.
Baje la oficial, tiene un archivo system.img pero carpeta no. Tengo que extraerla?


Sent from my Redmi Note 3 using Tapatalk

jamflux
10/05/16, 18:01:32
Baje la oficial, tiene un archivo system.img pero carpeta no. Tengo que extraerla?


Sent from my Redmi Note 3 using Tapatalk

Debes bajarte la ROM que es por recovery.
Las tipo fastboot no porque es más engorroso el proceso.
Tendrías que instalarla en el celular y copiar los archivos de toda la carpeta system al computador.

ppolp21
10/05/16, 18:37:51
Debes bajarte la ROM que es por recovery.
Las tipo fastboot no porque es más engorroso el proceso.
Tendrías que instalarla en el celular y copiar los archivos de toda la carpeta system al computador.
La descargue en el foro apartado downloads me fijaré, gracias


Sent from my Redmi Note 3 using Tapatalk

maps0005
15/05/16, 14:18:44
me dice que la arquitectura no esta definida al intentar seleccionar la carpeta system :cry:

jamflux
15/05/16, 16:00:31
me dice que la arquitectura no esta definida al intentar seleccionar la carpeta system :cry:
Manda capturas de pantalla de lo que estás haciendo.
El tutorial realmente es muy claro y fácil de seguir. [emoji19]

Enviado desde mi Redmi Note 3 mediante Tapatalk

Almaspai
16/05/16, 16:28:51
me sale esto "32 bit deodexer for android runtime"

ppolp21
17/05/16, 17:03:22
me dice que la arquitectura no esta definida al intentar seleccionar la carpeta system :cry:
Tienes que elegir la carpeta system dentro de la de la rom, no la carpeta de la rom.

Sent from my Redmi Note 3 using Tapatalk

Almaspai
17/05/16, 19:57:33
Perfectamente explicado.
esperando segunda fase, muchas gracias

wata
29/05/16, 21:19:15
Excelente guía jamflux !! Todo muy simple, paso a paso, genial!

Estoy como Oblak en la tanda de penalties igual con lo siguiente:
se cocina desde el móvil mismo luego, no? Y una vez hecho eso "creo" mi ROM propia, no?

Puedo seguir este tutorial con una ROM por ejemplo de xiaomi.eu?

Lo que tengo ganas es de cocinar ROMs basadas en xiaomi.eu con poca cosa más, como las estables que soláis sacar hasta 7.2.3 o el mismo MrRaines en 7.3.1, que eran casi stock. Pero por lo pronto no entiendo mucho y ni siquiera he desbloqueado el bootloader :P

Salvat0re
03/07/16, 19:33:16
Gracias por el tutorial, gran trabajo. ¿Podemos usar tu tutorial con miui 8?

jamflux
04/07/16, 20:02:15
Gracias por el tutorial, gran trabajo. ¿Podemos usar tu tutorial con miui 8?

Así es pero debe eliminarse los archivos del teclado sogou.

Salvat0re
05/07/16, 00:26:24
Gracias por contestar
He tenido problemas al extraer los archivos con el SVA Deodexer For Art, dandome errores en algunos archivos
He deodexado (bonito verbo, xdd), con jbart y sin problemas, ya me mete las carpetas framework-ext-res" y "mediatek-res"
La duda que me surge ahora es el services.jar, pones que es para la version 7.2.5.0.
Estoy trabajando con miui 8, la rom V7.3.3.0. ¿Me vale el mismo archivo o es unico dependiendo de las versiones?

jamflux
05/07/16, 05:10:34
Gracias por contestar
He tenido problemas al extraer los archivos con el SVA Deodexer For Art, dandome errores en algunos archivos
He deodexado (bonito verbo, xdd), con jbart y sin problemas, ya me mete las carpetas framework-ext-res" y "mediatek-res"
La duda que me surge ahora es el services.jar, pones que es para la version 7.2.5.0.
Estoy trabajando con miui 8, la rom V7.3.3.0. ¿Me vale el mismo archivo o es unico dependiendo de las versiones?
Es único para cada archivo, debes decompilar ese .jar y quitar unas líneas.
Escríbeme por privado y te paso lo que debes cambiar.

Enviado desde mi Redmi Note 3 mediante Tapatalk

Ulyses69
05/07/16, 13:25:46
Alucinante, jamflux , me pondré a practicar en cuanto me sea posible.

Muchas gracias :dios::dios::dios:

javier_arroyo
06/07/16, 10:09:26
Qué cojonudo el tutorial.

Yo aprovecho para preguntar si se puede flashear una ROM xiaomi.eu con flash tool ya que no tengo el boot bloqueado o cocinarla de alguna manera para ello?

Enviado desde mi Redmi Note 3 mediante Tapatalk

javier_arroyo
06/07/16, 10:09:59
Perdón, tengo el boot bloqueado.

Enviado desde mi Redmi Note 3 mediante Tapatalk

jamflux
06/07/16, 14:12:06
Qué cojonudo el tutorial.

Yo aprovecho para preguntar si se puede flashear una ROM xiaomi.eu con flash tool ya que no tengo el boot bloqueado o cocinarla de alguna manera para ello?

Enviado desde mi Redmi Note 3 mediante Tapatalk
Es el primer paso para empezar a hacer cosas con la ROM tener el desbootloader bloqueado. Las ROMs eu son para recovery. Las epic a veces se basan en las eu.

Enviado desde mi Redmi Note 3 mediante Tapatalk

jamflux
09/07/16, 17:24:41
Pequeña actuaización.

katana27
12/07/16, 10:15:41
muchas gracias por tu tiempo y esfuerzo...:dios::dios:

Salvat0re
14/07/16, 11:25:38
Esperando el tema de services.jar

jamflux
15/07/16, 14:19:17
Esperando el tema de services.jar
Pronto actualizo ese apartado

Enviado desde mi Redmi Note 3 mediante Tapatalk

hecvalve
02/05/17, 21:21:06
Buenas

Estoy intentando cocinar una rom para el mi3 y no consigo que arranque , se me queda cargando en logo de MI
He probado los archivos modificados a ponerlos en la rom original y funcionan perfectamente pero al flashear la modificada no hay manera.
Dices en el primer post algo sobre un parche para el services.jar he intentado descargar los enlaces que pones para comparar pero no estan activos , podrias actualizarlos o explicar un poco mas.

Gracias