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)
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)