Coldflid
27/09/14, 14:17:55
Que es esto:
Bueno, me han llegado bastantes privados con preguntas sobre como he hecho algunas cosas y la verdad es que creo que es mas facil si se crea un post con un recopilatorio de las cosas principales y mas cosas que se me vayan ocurriendo (o digais vosotros claro), ya que a mucha gente le puede resultar util, y aparte si alguien se le ocurre como aportar con ideas propias todo es bienvenido de tal forma que este post se vuelva como un recopilatorio general al que acudir si alguien no sabe hacer algo
Yo por ejemplo hay muchas cosas que no tenia ni idea como hacer, y un post asi me hubiese ahorrado bastante tiempo, asi que espero que sirva de algo :)
ART en deodexed:
Casi nadie entiende como hacer que funcione ART en una rom deodexed, pero en realidad es muy simple, no hay que hacer NADA
Smali y baksmali no estan adaptados para kitkat y ART, las roms por defecto, las stock, vienen con las apk y los .odex, pero lo que no se da cuenta la mayoria de la gente es que la ROM en si, ya viene deodexada, los .odex estan ahi solo por si quieres usar dalvik, pero todas las apk y .jar ya vienen deodexados con sus classes.dex
Si quereis deodexar la rom y que funcione ART solamente teneis que borrar todos los archivos .odex de la rom y ya esta
Boton atras mas pequeño que los otros con DPI reducido:
He visto varios casos en los que al reducir los softkeys le pasa que el boton back queda distinto a los demas softkeys, bueno para solucionar esto tenemos que decompilar SystemUI.apk, vamos a res/layout/navigation_bar.xml
Y en las dos lineas que sale: android:id="@id/back", buscamos una parte que pone android:scaleType="center" y lo borramos
Recompilamos, y ahora ya sera del mismo tamaño!
Firma de apps:
Al principio, tuve problemas al decompilar las apks de sistema, recompilarlas y instalar una ROM de 0, si lo instalaba sobre una instalacion previa iba todo bien, pero de 0 comprobaba la firma y si habia modificado apks esenciales como framework-res.apk, acababa en bootloop
Para esto hay dos soluciones:
1 - Copias la carpeta META-INF original a la nueva apk
2 - Deshabilitas la firma de apps (recomendada)
Para que sirve deshabilitarlo?
Muy simple, de esta forma no solo no tendremos que mantener la firma original de las apps, si no que en algunos casos (si la app es compatible claro) podremos instalar apks de otros moviles, un ejemplo es el systemui.apk de un xperia que aqui en el foro lo pedian y no funcionaba, pero luego colgue un zip con lo de la firma de apps y funcionaba. Claro esta que no van a empezar a funcionar todas las apps ya que algunas requieren permisos especiales, librerias y otras cosas, pero si quereis testear y portar cosas es algo muy util
Aqui un link con una guia (hay muchas, pero esa se que funciona seguro):
http://forum.xda-developers.com/showthread.php?t=1698352
Optimizar la ROM:
Hay varias formas de optimizar la ROM:
La primera y mas facil es borrar todo lo que no haga falta o no queramos, no voy a entrar en detalle ya que cada uno tiene sus preferencias personales y lo que yo quizas borro otros lo consideran necesario y viceversa, pero por poner un ejemplo borrar todas las apps estas de google como Books, games etc...
Quitar el debug info dentro de classes.dex (sirve tanto para .apk(s) y .jar(s). Es muy facil de hacer, con baksmali a la hora de decompilar classes.dex añadimos "-b" y "-a" + nuestro api, por ejemplo "-a 19", y con eso ya borra la info de depuracion, si no sabeis muy bien como se usa baksmali tranquilos que ahora explico otra alternativa mas facil con la que podeis hacer todo junto, y si no estara añadido en la siguiente beta de ColdROM Tools donde solo tendreis que seleccionar la carpeta con las apks y jars y lo hara solo :ok:
Optimizar los pngs, para esto podemos usar optipng por ejemplo, pero lo mas facil es usar goptimize que tambien sirve para quitar el debug info en classes.dex y comprimir la apk mas de forma que ocupe menos espacio, asi que si preferis hacerlo todo junto goptimize es para vosotros
Como se usa goptimize? Pues extraemos todos los archivos dentro del zip ( lo descargamos de aqui: http://forum.xda-developers.com/showthread.php?t=2358261). La carpeta "PlaceApksHere" es la carpeta donde tendremos que poner las apks que queremos optimizar. El archivo goptimize.cmd optimizara todos los archivos dentro de la carpeta con los ajustes predefinidos (ahora explico como podeis cambiarlo). El archivo ManualGO.cmd es para que lo hagais manualmente Yo cuando uso goptimize optimizo todo de golpe ya que me parece mas comodo pero depende de cada uno. Si quereis hacerlo manual escribir goptimize dentro del shell que se os abre y os saldra una lista de opciones, cada uno que elija lo que quiera. Si quereis hacerlo todo automatico ir a la carpeta bin y abris el archivo .defaultGO con notepad++ o el editor que querais. Cambiamos el comando para que tenga las opciones que queramos (podeis ver la lista al escribir goptimize dentro del shell). Por ejemplo para optimizar los pngs y quitar la info de depuracion seria: goptimize -p -b19 *.apk;
-b19 ya que el api de kitkat es 19
Luego edito la seccion de optimizar y lo explico un poco mejor pero me tengo que ir asi que por ahora lo dejo asi, espero que se entienda jajaja
Segun se me vayan ocurriendo mas cosas las ire colgando, a ver si os sirve! :ok:
Y si se os ocurre un nombre mejor para el tema del hilo, sugerirlo ya que el de ahora no me convence jaja
Bueno, me han llegado bastantes privados con preguntas sobre como he hecho algunas cosas y la verdad es que creo que es mas facil si se crea un post con un recopilatorio de las cosas principales y mas cosas que se me vayan ocurriendo (o digais vosotros claro), ya que a mucha gente le puede resultar util, y aparte si alguien se le ocurre como aportar con ideas propias todo es bienvenido de tal forma que este post se vuelva como un recopilatorio general al que acudir si alguien no sabe hacer algo
Yo por ejemplo hay muchas cosas que no tenia ni idea como hacer, y un post asi me hubiese ahorrado bastante tiempo, asi que espero que sirva de algo :)
ART en deodexed:
Casi nadie entiende como hacer que funcione ART en una rom deodexed, pero en realidad es muy simple, no hay que hacer NADA
Smali y baksmali no estan adaptados para kitkat y ART, las roms por defecto, las stock, vienen con las apk y los .odex, pero lo que no se da cuenta la mayoria de la gente es que la ROM en si, ya viene deodexada, los .odex estan ahi solo por si quieres usar dalvik, pero todas las apk y .jar ya vienen deodexados con sus classes.dex
Si quereis deodexar la rom y que funcione ART solamente teneis que borrar todos los archivos .odex de la rom y ya esta
Boton atras mas pequeño que los otros con DPI reducido:
He visto varios casos en los que al reducir los softkeys le pasa que el boton back queda distinto a los demas softkeys, bueno para solucionar esto tenemos que decompilar SystemUI.apk, vamos a res/layout/navigation_bar.xml
Y en las dos lineas que sale: android:id="@id/back", buscamos una parte que pone android:scaleType="center" y lo borramos
Recompilamos, y ahora ya sera del mismo tamaño!
Firma de apps:
Al principio, tuve problemas al decompilar las apks de sistema, recompilarlas y instalar una ROM de 0, si lo instalaba sobre una instalacion previa iba todo bien, pero de 0 comprobaba la firma y si habia modificado apks esenciales como framework-res.apk, acababa en bootloop
Para esto hay dos soluciones:
1 - Copias la carpeta META-INF original a la nueva apk
2 - Deshabilitas la firma de apps (recomendada)
Para que sirve deshabilitarlo?
Muy simple, de esta forma no solo no tendremos que mantener la firma original de las apps, si no que en algunos casos (si la app es compatible claro) podremos instalar apks de otros moviles, un ejemplo es el systemui.apk de un xperia que aqui en el foro lo pedian y no funcionaba, pero luego colgue un zip con lo de la firma de apps y funcionaba. Claro esta que no van a empezar a funcionar todas las apps ya que algunas requieren permisos especiales, librerias y otras cosas, pero si quereis testear y portar cosas es algo muy util
Aqui un link con una guia (hay muchas, pero esa se que funciona seguro):
http://forum.xda-developers.com/showthread.php?t=1698352
Optimizar la ROM:
Hay varias formas de optimizar la ROM:
La primera y mas facil es borrar todo lo que no haga falta o no queramos, no voy a entrar en detalle ya que cada uno tiene sus preferencias personales y lo que yo quizas borro otros lo consideran necesario y viceversa, pero por poner un ejemplo borrar todas las apps estas de google como Books, games etc...
Quitar el debug info dentro de classes.dex (sirve tanto para .apk(s) y .jar(s). Es muy facil de hacer, con baksmali a la hora de decompilar classes.dex añadimos "-b" y "-a" + nuestro api, por ejemplo "-a 19", y con eso ya borra la info de depuracion, si no sabeis muy bien como se usa baksmali tranquilos que ahora explico otra alternativa mas facil con la que podeis hacer todo junto, y si no estara añadido en la siguiente beta de ColdROM Tools donde solo tendreis que seleccionar la carpeta con las apks y jars y lo hara solo :ok:
Optimizar los pngs, para esto podemos usar optipng por ejemplo, pero lo mas facil es usar goptimize que tambien sirve para quitar el debug info en classes.dex y comprimir la apk mas de forma que ocupe menos espacio, asi que si preferis hacerlo todo junto goptimize es para vosotros
Como se usa goptimize? Pues extraemos todos los archivos dentro del zip ( lo descargamos de aqui: http://forum.xda-developers.com/showthread.php?t=2358261). La carpeta "PlaceApksHere" es la carpeta donde tendremos que poner las apks que queremos optimizar. El archivo goptimize.cmd optimizara todos los archivos dentro de la carpeta con los ajustes predefinidos (ahora explico como podeis cambiarlo). El archivo ManualGO.cmd es para que lo hagais manualmente Yo cuando uso goptimize optimizo todo de golpe ya que me parece mas comodo pero depende de cada uno. Si quereis hacerlo manual escribir goptimize dentro del shell que se os abre y os saldra una lista de opciones, cada uno que elija lo que quiera. Si quereis hacerlo todo automatico ir a la carpeta bin y abris el archivo .defaultGO con notepad++ o el editor que querais. Cambiamos el comando para que tenga las opciones que queramos (podeis ver la lista al escribir goptimize dentro del shell). Por ejemplo para optimizar los pngs y quitar la info de depuracion seria: goptimize -p -b19 *.apk;
-b19 ya que el api de kitkat es 19
Luego edito la seccion de optimizar y lo explico un poco mejor pero me tengo que ir asi que por ahora lo dejo asi, espero que se entienda jajaja
Segun se me vayan ocurriendo mas cosas las ire colgando, a ver si os sirve! :ok:
Y si se os ocurre un nombre mejor para el tema del hilo, sugerirlo ya que el de ahora no me convence jaja