Ver la Versión Completa : [TUTORIAL] Personalizar barra de notificaciones. [15/07/13]]
nachokyle
15/07/13, 00:11:48
Uno de los puntos fuertes de Android, uno de sus caballos de batalla por decirlo así, es sin duda la barra de personalizaciones. Esta implementación que tanto tiempo lleva con nosotros y que luego fue vilmente copiada por la competencia, es uno de los puntos más cuidados por Google y es una zona que cada versión ha ido viendo mejoras.
Otro punto poderoso del robot verde, es la personalización. Pues vamos a juntar ambos conceptos. Vamos a personalizar la barra de notificaciones, pero no como lo hace la mayoría de gente, que instala apps de terceros que añaden cosas, no, vamos a modificarla de raíz.
Para ello, será necesario decompilar y recompilar luego unas apps del sistema, por lo cual dejo un tutorial para decompilar. Y de paso digo que obviamente se necesita root.
Aprovecho la introducción para recomendar hacer un backups antes de probar cosas, no sea que os empiece a dar FC algo y os toque perderlo todo.
También decir que para modificar los .xml, hay que usar NotePad, un editor de XML o incluso un IDE, no me uséis bloc de notas, por el hamor de Odín.
Y para no malgastar el mensaje, también recomendaros a probar y a hacer vuestras chapucillas. Es muy gratificante hacerte tus mods o tematizarte un cacho del móvil.
Agradezco a joehanh88 de XDA su tutorial de personalizar el SystemUI y a Grouxho de aquí mismo y Esp-Desarrolladores por enseñarme tantas cosas y tener paciencia conmigo.
Advertir que el tuto es para Android 4.1.2 stock de Samsung.
Por petición de KingdomXander, aviso que si lo que modifiquéis lo queréis meter por recovery, pensad en tener un recovery avanzado, no el Stock. Y avisar que es posible que os dé problemas en roms Odex.
Ale, menos verborrea y más trabajo.
nachokyle
15/07/13, 00:12:21
Hola a todos, vamos a ver como decompilar y compilar posteriormente un archivo .apk. Los archivos .apk como sabéis son las aplicaciones de Android. El tutorial es para Windows.
Primeramente tenemos que descargar del dropbox (https://www.dropbox.com/sh/x0pnjtdv0rld7wq/WXxMaqBF2G/ApktoolSoporte422_gr/ApkManager4_2_Gr.zip) de Grouxho el ApkManager, que es la herramienta que usaremos para decompilar y recompilar los apk. Por si él lo quitase o algo, dejo una copia en mi Wuala por si acaso, pero em un principio pillad el de su Dropbox.
Creamos una carpeta, que llamaremos Apkmanager o como queráis, y la pondréis en un sitio accesible. Yo la tengo en el escritorio. En ella, descomprimiremos el .zip que nos hemos bajado, y nos creará una serie de carpetas y archivos.
Antes de empezar a trabajar, tenemos que buscar en /System/Framework el Framework-res.apk y el Twframework-res.apk de nuestra rom, y los pegaremos en la carpeta Other.
Ahora ya podemos trabajar.
EL tutorial se bifurca, depende si trabajamos con Apps de sistema o apps normales.
Apps sistema:
Conseguimos la app y la colocamos en la carpeta "place-apk-here-for-modding".
Luego ejecutamos el script.bat, y se nos abre un terminal de Windows. Tenemos unas opciones que elegir, y empezaremos seleccionando el apk que queramos trabajar. Para ello, pulsamos en número 22, que es la opción "set current project". Nos saldrá otra ventana que nos mostrará todas las apps que hay en la carpeta "place-apk-here-for-modding", y con el número correcto elegiremos la que queramos.
Volveremos a la pantalla principal, donde elegiremos la opción que queramos. Como queremos decompilar, pulsamos 9 y enter. El Apkmanager decompilará la app, y la tendremos disponible en la carpeta "Projects".
Nos dirigimos a "projects", sin cerrar el apkmanager, y hacemos los cambios que queramos. Cuando hayamos editado todo, volvemos al Apkmanager que no hemos cerrado, y pulsamos 11, para volver a compilar. Cuando haya terminado, nos preguntará si es una app de sistema, y aunque lo sea, le decimos que NO. Pulsamos N y podemos cerrar el Apkmanager.
Ahora, en "place-apk-here-for-modding" nos ha aparecido un apk igual que el que teníamos trabajado, pero con el prefijo Unsigned. Abrimos el Apk unsigned y el Apk bueno con WinRar. Cuando tengamos ambos abiertos, desde el Unsigned hacia el signed arrastramos lo que hayamos modificado. De esta forma, no se pierde la firma de la rom y no da ningún problema.
Si no sabéis que archivos mover exactamente, moved toda la carpeta "Res" y moved el "resources.arsc" de la unsigned a la normal, y ahora, la normal ya está modificada y preparada para instalar.
Apps normales:
Es justamente lo mismo, pero aquí después de compilar y decirle que no es una app de de sistema, tenemos que darle a la opción 12, que nos firmará la APK.
Y ya está, lista para instalar.
Una vez explicado esto, al lío. :ok:
nachokyle
15/07/13, 00:12:52
Antes que nada, decir que para cambiar colores nos hace falta los códigos de los colores HTML. Aquí os dejo una página donde podéis elegir el color que queráis y os dice los códigos HTML: http://html-color-codes.info/codigos-de-colores-hexadecimales/
Y, en los XML que editaremos, los códigos necesitan un prefijo que indica transparencia. 00 es transparente, y ff es opaco.
Por ejemplo, si queremos color negro opaco, que su código es #000000, tendríamos que poner #ff000000.
Hablo un poco de memoria, pero si no recuerdo mal los prefijos son:
FF: opaco.
BF: 25% transparente.
7F: 50% transparente.
3F: 75% transparente.
00: 100% transparente.
1) Empezaremos por algo muy simple y muy demandado, que es el cambio de cortina. Extraemos el SystemUI de nuestra rom y lo decompilamos. Nos dirigimos a la ruta Res/Layout y abrimos con NotePad el tw_status_bar_expanded.xml.
Ahí dentro, en el principio del XML encontraremos una línea que dice así:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:id="@id/notification_panel" android:background="@drawable/notification_panel_bg" android:paddingTop="@dimen/notification_panel_padding_top" …
Lo que está en negrita es lo que se tiene que cambiar. En lugar de notification_panel_bg, ponemos el nombre que queramos. El más común y fácil es back.
Nos quedaría algo así:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:id="@id/notification_panel" android:background="@drawable/back" android:paddingTop="@dimen/notification_panel_padding_top”…
Ahora, en la ruta Res/Drawable-XHDPI metemos una imagen de 720*1280 llamada back.png.
Recompilamos y finiquitado.
También dejo aquí un enlace que enseña a hacer cortinas animadas. A mí personalmente no me gusta y como no me gusta no lo he probado. Así que dejo solo el enlace ( http://www.darksideteam.com/showthread.php?tid=294) ya que al no probarlo mucho no puedo explicar.
2) El complemento al cambio de cortina. El complemento es cambiar el closer, o sea, la barra esa de debajo de donde se coge la cortina y se sube y se baja.
Es muy simple y no hay que modificar ningún XML. Nos dirigimos a Res/Drawable-XHDPI y buscamos dos imágenes que se llaman “tw_status_bar_close_off.png” y “tw_status_bar_close_on.png”. Las editamos como nos dé la gana y las metemos en la misma ruta, sin modificar el nombre, la extensión ni las medidas.
Recompilamos y hecho.
3) Para terminar de niquelar el closer, vamos a ocultar el nombre de la operadora.
Nos dirigimos a Res/Values, y abrimos el Styles.xml.
Buscamos una línea que ponga:
<style name="TextAppearance.StatusBar.Expanded.Network" parent="@style/TextAppearance.StatusBar.Expanded">
<item name="android:textSize">14.0dip</item>
<item name="android:textStyle">normal</item>
<item name="android:textColor">#ff000000</item>
Y lo que haremos es cambiar la última línea, el número que está en negrita, y donde pone” ff” pondremos “00”.
O sea, nos quedará así:
<style name="TextAppearance.StatusBar.Expanded.Network" parent="@style/TextAppearance.StatusBar.Expanded">
<item name="android:textSize">14.0dip</item>
<item name="android:textStyle">normal</item>
<item name="android:textColor">#00000000</item>
Eso lo que hace es darle al nombre del operador una transparencia del 100%, así, aunque estará ahí igual no lo veremos.
Recompilamos y listo.
4) Cambiando un poco de lugar, vamos a poner el reloj central y del color deseado. Vamos a Res/layout y abrimos tw_status_bar.xml.
Buscamos una línea que pone:
<com.android.systemui.statusbar.policy.Clock android:textSize="@dimen/status_bar_clock_text_size" android:textColor="#ff959595" android:ellipsize="none" android:gravity="left|center" android:id="@id/clock" android:paddingLeft="3.0dip…
Añadimos el color que nos guste más y donde pone “left|center” lo dejamos solo en center.
<com.android.systemui.statusbar.policy.Clock android:textSize="@dimen/status_bar_clock_text_size" android:textColor="#ffcolor" android:ellipsize="none" android:gravity="center" android:id="@id/clock" android:paddingLeft="3.0dip…
Recompilamos e ya está, reloj al centro y con color personalizado.
nachokyle
15/07/13, 00:13:22
5) Ahora cambiaremos el color a la barra de notificaciones. Para ello vamos a la ruta Res/Values y abrimos el Drawable.xml.
Buscamos la línea:
<item type="drawable" name="status_bar_background">#ff1e1e1e</item>
Y cambiamos al color que queramos y ponemos la transparencia que queramos.
Y listo, recompilamos.
6) Vamos a cambiar el color del reloj y la fecha en la barra de notificaciones, pero cuando está bajada. También el color de la propia barra. Vamos a Res/Values y abrimos styles.xml.
Buscamos estas dos líneas:
<style name="TextAppearance.StatusBar.Expanded.Clock" parent="@style/TextAppearance.StatusBar.Expanded">
<item name="android:textSize">32.0dip</item>
<item name="android:textStyle">normal</item>
<item name="android:textColor">#ff000000</item>
<item name="android:fontFamily">sans-serif-light</item>
</style>
<style name="TextAppearance.StatusBar.Expanded.Date" parent="@style/TextAppearance.StatusBar.Expanded">
<item name="android:textSize">12.0dip</item>
<item name="android:textStyle">normal</item>
<item name="android:textColor">#ff000000</item>
<item name="android:textAllCaps">true</item>
Y en la parte en negrita, colocamos el color que queramos.
Para editar el color de la propia barra de arriba, cuando las notificaciones están extendidas, pues vamos a Res/Layout y abrimos tw_status_bar_expanded_header.xml.
En la primera línea del XML pone esto:
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:background="#ff000000" android:layout…
Modificáis el color al que queráis.
Una vez cambiados los colores, recompilamos.
7) Quitar la barra de brillo. Si no la queréis, es muy simple.
Vamos a Res/Layout y abrimos tw_status_bar_expanded.xml.
Buscamos por ahí esta línea:
<LinearLayout android:orientation="vertical" android:id="@id/brightness_controller" android:background="#ff000000" android:layout_width="fill_parent" android:layout_height="56.0dip"…
Y donde pone 56.0dip, ponemos 0.0dip.
Hecho, recompilamos.
8)Eliminar botón limpiar notificaciones e integrarlo en la cabecera de la barra. Eliminar también la barra azul que pone “notificaciones” o “en curso”.
Una cosa aparentemente pequeña, pero que sin duda da otro aire a la barra de tareas, es eliminar eso. Para ello:
Vamos a Res/Values y abrimos Dimens.xml.
Buscamos la línea:
<dimen name="status_bar_expanded_notification_category_height">
Y la dejamos así:
<dimen name="status_bar_expanded_notification_category_height">0.0dip</dimen>
Ahora vamos a Res/Layout y abrimos tw_status_bar_expanded.xml
Buscamos un cacho de código que sea así:
<LinearLayout android:orientation="vertical" android:id="@id/notificationCart" android:background="#ff293945" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="@dimen/status_bar_expanded_notification_category_height">
<RelativeLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content">
<TextView android:textSize="@dimen/status_bar_expanded_notification_category_text_siz e" android:textStyle="bold" android:textColor="@color/notification_category_color" android:gravity="left|center" android:id="@id/latestNotificationText" android:paddingLeft="11.0dip" android:layout_width="180.0dip" android:layout_height="fill_parent" android:text="@string/status_bar_latest_events_title" android:layout_alignParentLeft="true" />
<TextView android:textSize="@dimen/status_bar_expanded_notification_clear_button_text _size" android:textColor="@color/tw_status_bar_clear_btn_text" android:gravity="center" android:id="@id/clear_all_button" android:background="@drawable/tw_btn_default_small" android:padding="0.100000024dip" android:focusable="true" android:clickable="true" android:layout_width="@dimen/status_bar_expanded_clear_button_width" android:layout_height="fill_parent" android:layout_marginRight="4.0dip" android:text="@string/status_bar_clear_all_button" android:layout_alignParentRight="true" android:contentDescription="@string/accessibility_clear_all" />
</RelativeLayout>
Y lo dejamos así:
<LinearLayout android:orientation="vertical" android:id="@id/notificationCart" android:background="#00000000" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="@dimen/status_bar_expanded_notification_category_height">
<RelativeLayout android:orientation="horizontal" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content">
<TextView android:textSize="@dimen/status_bar_expanded_notification_category_text_siz e" android:textStyle="bold" android:textColor="@color/notification_category_color" android:gravity="left|center" android:id="@id/latestNotificationText" android:paddingLeft="11.0dip" android:visibility="gone" android:layout_width="180.0dip" android:layout_height="fill_parent" android:text="@string/status_bar_latest_events_title" android:layout_alignParentLeft="true" />
<TextView android:textSize="@dimen/status_bar_expanded_notification_clear_button_text _size" android:textColor="@color/tw_status_bar_clear_btn_text" android:gravity="center" android:id="@id/clear_all_button" android:background="@drawable/tw_btn_default_small" android:padding="0.100000024dip" android:focusable="true" android:visibility="gone" android:clickable="true" android:layout_width="@dimen/status_bar_expanded_clear_button_width" android:layout_height="fill_parent" android:layout_marginRight="4.0dip" android:text="@string/status_bar_clear_all_button" android:layout_alignParentRight="true" android:contentDescription="@string/accessibility_clear_all" />
</RelativeLayout>
Los cambios están en negrita. Básicamente es añadir los android:visibility="gone" y cambiar ese color.
Por último, abrimos el tw_status_bar_expanded_header.xml
Tenemos que copiar al archivo que hemos abierto esta línea:
<ImageView android:id="@id/clear_all_button" android:layout_width="48.0dip" android:layout_height="48.0dip" android:src="@drawable/ic_notify_clear_normal" android:scaleType="center" android:contentDescription="@string/accessibility_clear_all" systemui:glowBackground="@drawable/ic_sysbar_highlight" />
El lugar es opcional, cada uno lo mete donde quiere. Podéis pegarla antes del <RelativeLayout android:id="@id/settings_button"… y saldrá entre el icono de ajustes y el separador, podéis pegarla antes del separador y el separador separará ambas, vamos, como veáis. Os recomiendo pegarlo en varios sitios e ir recompilando y viendo donde lo va poniendo.
Y en Res/Drawable-XHDPI, ponemos un .png de nombre ic_notify_clear_normal y de medidas 64x64. Es el icono que saldrá.
Recompilamos y listo.
nachokyle
15/07/13, 00:13:53
9) Cambiar los toggles. Para cambiar los toggles solo hay que tener los iconos que vamos a poner, que son unos 50 y pico, y pegarlos con los mismos nombres y extensión que los originales.
Las rutas donde se tienen que pegar son Res/Drawable-XHDPI y Res/ Drawable-sw360dp-xhdpi.
Es muy sencillito, recompilamos e ya.
10) Eliminar el texto de los toggles y el estado.
Este es precioso a mi ver. Nos quita el nombre de los toggles y la barrita esa de abajo que nos dice si están activos o apagados. También nos elimina el fondo azul y aumentamos el tamaño de los commutadores.
Vamos a Res/Layout y abrimos tw_quick_setting_button.xml.
Buscamos esta línea:
<ImageView android:layout_gravity="center" android:id="@id/btn_image" android:layout_width="fill_parent" android:layout_height="@dimen/quick_setting_button_image_height" android:layout_marginTop="@dimen/quick_setting_button_margin_top" />
La borramos y pegamos ésta:
<ImageView android:layout_gravity="center" android:id="@id/btn_image" android:layout_width="fill_parent" android:layout_height="90.0dip" android:layout_marginTop="0.0dip" />
Sin salir del xml, buscamos:
<TextView android:textSize="@dimen/quick_setting_button_text_size"…
La borramos también y en su lugar pegamos ésta:
<TextView android:textSize="@dimen/quick_setting_button_text_size" android:textColor="#00000000" android:gravity="center" android:id="@id/btn_text" android:layout_width="fill_parent" android:layout_height="0.0dip" android:includeFontPadding="false" />
En el mismo XML, buscamos:
<ImageView android:layout_gravity="center" android:id="@id/btn_status_image"...
Borramos y en su lugar pegamos:
<ImageView android:layout_gravity="center" android:id="@id/btn_status_image" android:paddingLeft="0.0dip" android:paddingTop="0.0dip" android:paddingRight="0.0dip" android:paddingBottom="0.0dip" android:layout_width="fill_parent" android:layout_height="0.0dip" android:scaleType="fitXY" android:drawable="@drawable/tw_quick_panel_off" />
Ahora nos dirigimos a Res/Values y abrimos Dimens.xml.
Buscamos unas líneas que empiezan por:
<dimen name="quick_setting_button_
Y las dejamos así:
<dimen name="quick_setting_button_height">90.0dip</dimen>
<dimen name="quick_setting_button_image_height">90.0dip</dimen>
<dimen name="quick_setting_button_text_height">0.0dip</dimen>
<dimen name="quick_setting_button_text_size">0.0dip</dimen>
<dimen name="quick_setting_button_status_height">0.0dip</dimen>
<dimen name="quick_setting_button_status_padding">2.0dip</dimen>
<dimen name="quick_setting_button_margin_top">0.0dip</dimen>
Volvemos a Res/Layout y abrimos tw_status_bar_expanded.xml.
Buscamos:
<com.android.systemui.statusbar.policy.quicksetting .QuickSettingPanel android:orientation="horizontal" android:id="@id/quicksetting_container" android:layout_width="wrap_content" android:layout_height="wrap_content"...
En esta línea veremos un android:divider="@XXX/YYYYYYYYYY". Lo dejamos así: android:divider="#00000000"
Por último, buscamos: <HorizontalScrollView android:id="@id/quicksetting_scroller" android:scrollbars="none" android:layout_width="wrap_content"...
Y donde pone: android:layout_height=”loquesea”, ponemos: android:layout_height="90.0dip"
11) Implementar el mod del candado o un Home o Recientes en la barra de notificaciones expandida.
Aquí dejo un enlace a un tema de Grouxho donde explica fabulosamente como implementarlos. Es muy simple.
http://www.esp-desarrolladores.com/showthread.php?t=929
nachokyle
15/07/13, 00:29:08
Voy a reciclar capturas de mi rom, porque soy tan genio que no las he ido sacando conforme hacía el tutorial.
Aquí vemos como quedan los toggles del paso número 10, también el closer cambiado al igual que el back, que está semitransparente. Tampoco hay rastos del operador y el color del reloj y la data cambiados.
http://oi44.tinypic.com/33bh10y.jpg
Aquí en pequeño se ve el mod de recientes y el boton clear borrado y puesto en la barra.http://www.esp-desarrolladores.com/attachment.php?attachmentid=2044&d=1373499013
nachokyle
15/07/13, 00:30:04
Creía que cabían más carácteres
Muy interesante el tuto, pero mi pregunta es si sirve para todo tipo de roms, cm, aokp, etc, o solo es para las stock de samsung?
nachokyle
15/07/13, 01:09:06
Muy interesante el tuto, pero mi pregunta es si sirve para todo tipo de roms, cm, aokp, etc, o solo es para las stock de samsung?
Este es solo para Stock o basado en stock. En AOSP y demás serán otros archivos. Si te fijas, muchos archivos que salen en el tuto tienen el prefijo TW, que es de Samsung.
Enhorabuena nacho, ,me parece un tuyo muy completito y sobre todo muy currado.......seguro que ayudarás y sacarás a más de uno de un aprieto, me lo apunto a favoritos....., ya sabes todo lo que este en mis manos te ayudaré! !!:thumbup::thumbup::thumbup::thumbup:
Muchas gracias por el aporte. Muy bien explicado todo, si señor. :thumbup::thumbup::thumbup:
KingdomXander
15/07/13, 04:04:10
Guau gran tutorial! pensaba que se te olvidaba o que te daria pereza hacerlo jajaja.
Deberia estar en chincheta pues es algo que ayudara a mucha gente como a mi que cuando me saque un hueco lo seguire con una lectura mas profunda paso a paso y lo pondre en practrica.
Bueno muchas gracias de nuevo por ayudarme la otra vez con la barra y ahora a verte tomado la molestia de dedicarte a hacer este gran tutorial.
P.D:En mi lectura rapida nose si es que me lo he pasado por alto o no esta pero creo que deberia incluir lo de cambiar el modo al que se accede con + home y apagar (que ahora nk me sale su nombre) no vaya a ser que sean novatos como yo y tengan el de fabrica jajaja Si lo tienes incluido me callo es por intentar ayudar en tu tutorial que repito de momento solo le he echado una lectura rapida.
nachokyle
15/07/13, 14:53:47
Guau gran tutorial! pensaba que se te olvidaba o que te daria pereza hacerlo jajaja.
Deberia estar en chincheta pues es algo que ayudara a mucha gente como a mi que cuando me saque un hueco lo seguire con una lectura mas profunda paso a paso y lo pondre en practrica.
Bueno muchas gracias de nuevo por ayudarme la otra vez con la barra y ahora a verte tomado la molestia de dedicarte a hacer este gran tutorial.
P.D:En mi lectura rapida nose si es que me lo he pasado por alto o no esta pero creo que deberia incluir lo de cambiar el modo al que se accede con + home y apagar (que ahora nk me sale su nombre) no vaya a ser que sean novatos como yo y tengan el de fabrica jajaja Si lo tienes incluido me callo es por intentar ayudar en tu tutorial que repito de momento solo le he echado una lectura rapida.
Pereza un poco, olvidarme no jajajajajaja.
El caso es que esto requiere mucho tiempo, mucho decompilar y probar cosas para que todo esté bien y tal, y como encima he estado tiempo fuera pues eso se ha traducido en demora.
Vale, luego aviso de eso, que no está. No es necesario porque el recovery no se usa, daré un par de avisos más.
nachokyle he probado con varios tamaños de fotos y siempre me sale la mitad tapada, e probado con 720*1280 , 720*720 , 720*500 y siempre me sale la foto en la misma posicion, como hago para que me cuadre bien? gracias
nachokyle
16/07/13, 19:44:33
nachokyle he probado con varios tamaños de fotos y siempre me sale la mitad tapada, e probado con 720*1280 , 720*720 , 720*500 y siempre me sale la foto en la misma posicion, como hago para que me cuadre bien? gracias
Qué foto dices?
Qué foto dices?
hola, una que me estoy poniendo en la tw notification panel . la del paso 1
hola, una que me estoy poniendo en la tw notification panel . la del paso 1
ya esta arreglado, al final recortando la foto con photoshop me queda centrada, gracias de todas formas por tu fantastico tuto.
nachokyle
17/07/13, 22:08:31
ya esta arreglado, al final recortando la foto con photoshop me queda centrada, gracias de todas formas por tu fantastico tuto.
Bueno, si está arreglado perfecto.
Pero piensa que tienes que calcular a ojo las medidas. De los 1280 píxeles de alto, quizás los 300 o 400 primeros píxeles están ocupados por los toggles y la barra de brillo, por lo que hay que empezar el dibujo a partir de esa zona, y dejar lo de arriba en blanco (o negro o lo que sea).
De paso os comparto la barra de notificaciones de mi rom. Le faltan cuatro cosas que le pondré mañana y cambiar los toggles a unos que me están haciendo, pero grosso modo es eso:
http://oi39.tinypic.com/f0ul35.jpg
titonali
23/07/13, 16:57:36
Hola,
Tengo varias dudas. intente descompilar la rom de samsung desde windows y no he podido, asi que lo hice desde ubuntu, pero desde ahi no puedo modificar los .xml, y en windiws no se descompilar la rom para conseguir el systemui
Una ayuda por favor!!no tengo ni idea de como seguir
Muchas gracias
chicho0013
23/07/13, 23:09:29
http://oi39.tinypic.com/f0ul35.jpg
amigo como tengo ese icono de S donde dice menu
jonyisma22
24/07/13, 07:57:29
Nacho sos un genio, no bien tenga tiempo metere manos, estuve viendo un mod para los s4 q la cortina queda muy minimalista y estilo de Google.. Blanca y azul holo. Yo tengo la compilación xxella stock... Si haces un Cwm para la mía a ese estilo juro q te amaré. Si es q la tienes clara y no te cuesta! Por tu laburo te mencionaré a más no poder je.
Enviado desde mi GT-I9300 usando Tapatalk 2
nachokyle
24/07/13, 17:51:02
Hola,
Tengo varias dudas. intente descompilar la rom de samsung desde windows y no he podido, asi que lo hice desde ubuntu, pero desde ahi no puedo modificar los .xml, y en windiws no se descompilar la rom para conseguir el systemui
Una ayuda por favor!!no tengo ni idea de como seguir
Muchas gracias
Quieto parao, que te has liado. Lo que tienes que decompilar es el SystemUI, la rom NO. La rom, si es cocinada y la tienes en .zip, la puedes abrir con WinRar o con el gestor de comprimidos de Ubuntu, y dentro de la rom en System/App, encontrarás el SystemUI, que luego decompilas y le haces lo que te dé la gana.
Si por un casual tienes la rom oficial de Samsung, que es extensión .ta.md5, no podrás abrirlo con facilidad, así que lo mejor es que pilles el SystemUI desde el propio móvil con RootExplorer.
Chicho0013, las S en eel botón de menú las puse yo. Si quieres te puedo pasar el launcher ya modificado o las imágenes de la S y te las pones tú.
Jonyisma22, la cortina que ves en la foto aún no es la definitiva. Aún le faltan cuatro cosas que tengo que meterle y tal. Si la quieres, puedes instalar mi rom, que está aquí (http://www.esp-desarrolladores.com/showthread.php?t=828). Supongo que en una semana habré terminado la actualización y con ella, la cortina definitiva, que será esa, pero ligeramente mejorada.
titonali
24/07/13, 18:21:04
Si, tengo la de Samsung. Desde el movil puedo cogerla y separarlo? No jodas!!! Madre mía con todo lo que he llegado a provar :(
Muchas gracias!!!!
nachokyle
24/07/13, 19:24:26
Si, tengo la de Samsung. Desde el movil puedo cogerla y separarlo? No jodas!!! Madre mía con todo lo que he llegado a provar :(
Muchas gracias!!!!
Pues si tienes la de Samsung oficial, no podrás abrirla. Para abrir eso, hay que "cocinarlo", así que este camino no es el mejor ni el más rápido.
Para eso, bájate RootExplorer u otro gestor de archivos similar, vete a /System/App y de ahí podrás copiar tu SystemUI para modificarlo.
PD: Ojo, que con las roms no cocinadas algunas cosas podrían dar problemas.
pepetrola
24/07/13, 19:57:05
Hola buenas tardes a todos , me gustaria que la barra se notificaciones fuera transparente , hay algun update (zip) para esto , llevo la 4.2.2 deodexada por mi , gracias de antemano.
nachokyle
24/07/13, 20:19:17
Hola buenas tardes a todos , me gustaria que la barra se notificaciones fuera transparente , hay algun update (zip) para esto , llevo la 4.2.2 deodexada por mi , gracias de antemano.
Si hay .zips o no yo no lo sé. Este tema es para que cada uno se haga sus apaños.
pepetrola
24/07/13, 21:33:22
Si hay .zips o no yo no lo sé. Este tema es para que cada uno se haga sus apaños.
I en que parte del tuto esta? Gracias.
nachokyle
24/07/13, 22:23:34
I en que parte del tuto esta? Gracias.
Está en el punto 5. ;)
chicho0013
24/07/13, 23:44:24
amigo nacho me podia pasar la imagen S , en formatto zip para flashearlo por recovery asi se instalara en mi launcher nova?
titonali
25/07/13, 01:12:08
a mi no me sale esto: tw_status_bar_expanded.xml. para el cambiar le fondo de la cortina.
Porque puede ser?
Gracias
chicho0013
25/07/13, 02:33:38
amigo vi en un post tuyo esta imagen q pusiste en la notificacion como la pongo el tipo ese http://oi42.tinypic.com/2mcj1x4.jpg
nachokyle
25/07/13, 04:07:17
a mi no me sale esto: tw_status_bar_expanded.xml. para el cambiar le fondo de la cortina.
Porque puede ser?
Gracias
Pues no puede ser que no tengas ese XML. Cuéntame qué has hecho.
chicho0013, mañana te los mando, que los tengo en otro SO. Pero si usas Nova no serán para flashear, ya te diré como se instalas.
Y no sé a qué te refieres en el último comentario.
chicho0013
25/07/13, 04:38:41
es q quiero la imagen q parece en la notificaciones , eso lo pusiste tu en un post y lo vi aver si me dices como lo pongo o me pasas el zip para flashearlo
nachokyle
25/07/13, 18:26:50
es q quiero la imagen q parece en la notificaciones , eso lo pusiste tu en un post y lo vi aver si me dices como lo pongo o me pasas el zip para flashearlo
Cambiar la foto de la barra de notificaciones es el punto 1 del tutorial.
NositoJDM
25/07/13, 18:34:47
Mi Nacho! Gracias por el tema, hoy me he puesto con mi Xperia y bueno, he modificado la barra de notificaciones, mejor dicho, los signos, por los del Nexus 4, el teclado, la NavBar y el launcher por el Nova. Aquí captura de mi obra x'D
Miraré si con tu tutorial se puede hacer algo en los Xperia, y entonces a modificar la barra, lo de dentro.
nachokyle
25/07/13, 18:53:41
Mi Nacho! Gracias por el tema, hoy me he puesto con mi Xperia y bueno, he modificado la barra de notificaciones, mejor dicho, los signos, por los del Nexus 4, el teclado, la NavBar y el launcher por el Nova. Aquí captura de mi obra x'D
Miraré si con tu tutorial se puede hacer algo en los Xperia, y entonces a modificar la barra, lo de dentro.
Hola querido. :ok:
Piensa que este tuto es para Samsung y su capa TouchWiz, los XML serán distintos en tu Sony. Aunque si quieres puedes ir probando cosas, seguro que más de una cosa sirve.
titonali
25/07/13, 19:02:39
Pues no puede ser que no tengas ese XML. Cuéntame qué has hecho.
chicho0013, mañana te los mando, que los tengo en otro SO. Pero si usas Nova no serán para flashear, ya te diré como se instalas.
Y no sé a qué te refieres en el último comentario.
Pues ese exactamente no lo tengo, tengo el mismo, pero sin el tw del principio. Lo que hice fue cojer el systemui.apk con rootexplorer, pasarlo a la carpeta que pone arriba descompilar y buscarlo en res/layout
NositoJDM
25/07/13, 19:03:03
Hola querido. :ok:
Piensa que este tuto es para Samsung y su capa TouchWiz, los XML serán distintos en tu Sony. Aunque si quieres puedes ir probando cosas, seguro que más de una cosa sirve.
Hombre, no creo que sea todo diferente, jeje. :risitas:
nachokyle
25/07/13, 19:15:21
Pues ese exactamente no lo tengo, tengo el mismo, pero sin el tw del principio. Lo que hice fue cojer el systemui.apk con rootexplorer, pasarlo a la carpeta que pone arriba descompilar y buscarlo en res/layout
Qué extraño. Pásame tu SystemUI, y cuando vuelva de entrenar lo miro.
NOSsZ, algunas cosas serán iguales, pero los archivos serán distintos. Míralo, busca y prueba.
titonali
25/07/13, 19:27:37
Qué extraño. Pásame tu SystemUI, y cuando vuelva de entrenar lo miro.
NOSsZ, algunas cosas serán iguales, pero los archivos serán distintos. Míralo, busca y prueba.
Como te lo paso?
nachokyle
25/07/13, 19:48:12
Como te lo paso?
Súbelo a Dropbox u otra nube.
titonali
26/07/13, 00:14:32
Súbelo a Dropbox u otra nube.
te lo pase por privado. te llegó?
nachokyle
26/07/13, 00:50:49
te lo pase por privado. te llegó?
Sí, cuando pueda te lo miro.
teraherz
26/07/13, 22:12:07
Apps sistema:
Conseguimos la app y la colocamos en la carpeta "place-apk-here-for-modding".
Luego ejecutamos el script.bat, y se nos abre un terminal de Windows. Tenemos unas opciones que elegir, y empezaremos seleccionando el apk que queramos trabajar. Para ello, pulsamos en número 22, que es la opción "set current project". Nos saldrá otra ventana que nos mostrará todas las apps que hay en la carpeta "place-apk-here-for-modding", y con el número correcto elegiremos la que queramos.
Volveremos a la pantalla principal, donde elegiremos la opción que queramos. Como queremos decompilar, pulsamos 9 y enter. El Apkmanager decompilará la app, y la tendremos disponible en la carpeta "Projects".
Nos dirigimos a "projects", sin cerrar el apkmanager, y hacemos los cambios que queramos. Cuando hayamos editado todo, volvemos al Apkmanager que no hemos cerrado, y pulsamos 11, para volver a compilar. Cuando haya terminado, nos preguntará si es una app de sistema, y aunque lo sea, le decimos que NO. Pulsamos N y podemos cerrar el Apkmanager.
Ahora, en "place-apk-here-for-modding" nos ha aparecido un apk igual que el que teníamos trabajado, pero con el prefijo Unsigned. Abrimos el Apk unsigned y el Apk bueno con WinRar. Cuando tengamos ambos abiertos, desde el Unsigned hacia el signed arrastramos lo que hayamos modificado. De esta forma, no se pierde la firma de la rom y no da ningún problema.
Si no sabéis que archivos mover exactamente, moved toda la carpeta "Res" y moved el "resources.arsc" de la unsigned a la normal, y ahora, la normal ya está modificada y preparada para instalar.
Apps normales:
Es justamente lo mismo, pero aquí después de compilar y decirle que no es una app de de sistema, tenemos que darle a la opción 12, que nos firmará la APK.
Y ya está, lista para instalar.
Una vez explicado esto, al lío. :ok:
Hola, una consulta.. tengo el systemui.apk del rom de omega, el cual al tratar de descompilar arroja errores en java, sabras como solucionarlo?
este es el log:
"" I: Baksmaling...
I: Loading resource table...
I: Loaded.
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: C:\Users\notebook\apktool\framework\1.apk
I: Loaded.
W: Could not decode attr value, using undecoded value instead: ns=androidprv, name=primaryUserOnly, value=0xffffffff
W: Could not decode attr value, using undecoded value instead: ns=android, name=label, value=0x0104063a
W: Could not decode attr value, using undecoded value instead: ns=android, name=theme, value=0x01030316
W: Could not decode attr value, using undecoded value instead: ns=android, name=theme, value=0x01030326
W: Could not decode attr value, using undecoded value instead: ns=android, name=theme, value=0x01030326
W: Could not decode attr value, using undecoded value instead: ns=android, name=theme, value=0x01030326
W: Could not decode attr value, using undecoded value instead: ns=android, name=theme, value=0x01030326
W: Could not decode attr value, using undecoded value instead: ns=android, name=theme, value=0x01030326
I: Regular manifest package...
I: Decoding file-resources...
W: Could not decode attr value, using undecoded value instead: ns=android, name=drawableTop, value=0x01080714
W: Could not decode attr value, using undecoded value instead: ns=prvandroid, name=outerRingDrawable, value=0x7f02008a
W: Could not decode attr value, using undecoded value instead: ns=prvandroid, name=pointDrawable, value=0x01080395
W: Could not decode attr value, using undecoded value instead: ns=prvandroid, name=glowRadius, value=0x01050020
W: Could not decode attr value, using undecoded value instead: ns=prvandroid, name=targetDrawables, value=0x7f080000
W: Could not decode attr value, using undecoded value instead: ns=prvandroid, name=outerRadius, value=0x7f0e0030
W: Could not decode attr value, using undecoded value instead: ns=prvandroid, name=vibrationDuration, value=0x7f0d0002
W: Could not decode attr value, using undecoded value instead: ns=prvandroid, name=snapMargin, value=0x7f0e002e
W: Could not decode attr value, using undecoded value instead: ns=prvandroid, name=feedbackCount, value=0x00000000
W: Could not decode attr value, using undecoded value instead: ns=prvandroid, name=alwaysTrackFinger, value=0xffffffff
W: Could not decode attr value, using undecoded value instead: ns=prvandroid, name=outerRingDrawable, value=0x7f02008a
W: Could not decode attr value, using undecoded value instead: ns=prvandroid, name=pointDrawable, value=0x01080395
W: Could not decode attr value, using undecoded value instead: ns=prvandroid, name=glowRadius, value=0x01050020
W: Could not decode attr value, using undecoded value instead: ns=prvandroid, name=targetDrawables, value=0x7f080000
W: Could not decode attr value, using undecoded value instead: ns=prvandroid, name=outerRadius, value=0x7f0e0030
W: Could not decode attr value, using undecoded value instead: ns=prvandroid, name=vibrationDuration, value=0x7f0d0002
W: Could not decode attr value, using undecoded value instead: ns=prvandroid, name=snapMargin, value=0x7f0e002e
W: Could not decode attr value, using undecoded value instead: ns=prvandroid, name=feedbackCount, value=0x00000000
W: Could not decode attr value, using undecoded value instead: ns=prvandroid, name=alwaysTrackFinger, value=0xffffffff
W: Could not decode attr value, using undecoded value instead: ns=android, name=drawable, value=0x0108068f
W: Could not decode attr value, using undecoded value instead: ns=android, name=drawable, value=0x0108068f
W: Could not decode attr value, using undecoded value instead: ns=android, name=drawable, value=0x0108068f
W: Could not decode attr value, using undecoded value instead: ns=android, name=drawable, value=0x01080984
W: Could not decode attr value, using undecoded value instead: ns=android, name=drawable, value=0x01080b39
W: Could not decode attr value, using undecoded value instead: ns=android, name=drawable, value=0x01080b3a
W: Could not decode attr value, using undecoded value instead: ns=android, name=drawable, value=0x0108068b
W: Could not decode attr value, using undecoded value instead: ns=android, name=drawable, value=0x0108068f
W: Could not decode attr value, using undecoded value instead: ns=android, name=drawable, value=0x01080b39
W: Could not decode attr value, using undecoded value instead: ns=android, name=drawable, value=0x0108073c
W: Could not decode attr value, using undecoded value instead: ns=android, name=drawable, value=0x0108097e
I: Decoding values */* XMLs...
Exception in thread "main" brut.androlib.err.UndefinedResObject: resource spec: 0x0104072a
at brut.androlib.res.data.ResPackage.getResSpec(ResPa ckage.java:61)
at brut.androlib.res.data.ResTable.getResSpec(ResTabl e.java:58)
at brut.androlib.res.data.ResTable.getResSpec(ResTabl e.java:54)
at brut.androlib.res.data.value.ResReferenceValue.get Referent(ResReferenceValue.java:62)
at brut.androlib.res.data.value.ResReferenceValue.enc odeAsResXml(ResReferenceValue.java:46)
at brut.androlib.res.data.value.ResScalarValue.encode AsResXmlValueExt(ResScalarValue.java:86)
at brut.androlib.res.data.value.ResScalarValue.encode AsResXmlValue(ResScalarValue.java:55)
at brut.androlib.res.data.value.ResScalarValue.encode AsResXmlItemValue(ResScalarValue.java:48)
at brut.androlib.res.data.value.ResArrayValue.getType (ResArrayValue.java:74)
at brut.androlib.res.data.value.ResArrayValue.seriali zeToResValuesXml(ResArrayValue.java:50)
at brut.androlib.res.AndrolibResources.generateValues File(AndrolibResources.java:418)
at brut.androlib.res.AndrolibResources.decode(Androli bResources.java:241)
at brut.androlib.Androlib.decodeResourcesFull(Androli b.java:115)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:99 )
at brut.apktool.Main.cmdDecode(Main.java:141)
at brut.apktool.Main.main(Main.java:72) ""
Alguna ayuda??
franchess
27/07/13, 14:00:54
Hola, una consulta.. tengo el systemui.apk del rom de omega, el cual al tratar de descompilar arroja errores en java, sabras como solucionarlo?
este es el log: .............................................Algun a ayuda??
A mi me pasaba lo mismo, lo que hice fue abrir el SDK, lo actualicé y ya pude decompilar perfectamente.
Ahora, en "place-apk-here-for-modding" nos ha aparecido un apk igual que el que teníamos trabajado, pero con el prefijo Unsigned. Abrimos el Apk unsigned y el Apk bueno con WinRar. Cuando tengamos ambos abiertos, desde el Unsigned hacia el signed arrastramos lo que hayamos modificado. De esta forma, no se pierde la firma de la rom y no da ningún problema.
Si no sabéis que archivos mover exactamente, moved toda la carpeta "Res" y moved el "resources.arsc" de la unsigned a la normal, y ahora, la normal ya está modificada y preparada para instalar.
Cuando hago este paso algo debe de salir mal porque luego cuando quiero instalar la aplicación no me deja...Hay alguna otra manera de compilarlo de nuevo y que se pueda instalar? De hecho cuando abro los .apk con winrar no se ven todas las carpetas que realmente tienen (values por ejemplo no se ve)
EDITO: nachokyle en otro hilo enviaste un ZIP o RAR para modificar con el escudo del Real Madrid la barra de notificaciones y ese sí podia modificarlo y luego instalarlo con el Recovery perfectamente, no sé si podrías pasarme de esa manera que yo pueda modificarlo sin tener que decompilar y compilar de nuevo el arhivo Systemui.apk (para instalarlo en modo recovery también)
MarGomCito
26/09/13, 02:10:56
378302
Cómo editó el fondo de las notificaciones esa parte negra de fondo Xfa
[solucionado
Yo solo tengo la pequeña duda de si este tutorial aplica para la variante LTE de este terminal el samsung galaxy s3 i747. De antemano gracias :-)
nachokyle
29/09/13, 00:11:39
Yo solo tengo la pequeña duda de si este tutorial aplica para la variante LTE de este terminal el samsung galaxy s3 i747. De antemano gracias :-)
Pues debería valer, sí. Aunque tenga un hardware diferente, las cosas deberían estar en el mismo sitio en ambas versiones.
saibamans
29/09/13, 13:50:02
Alguna persona sabe como cambiar de color el botón de la barra de notificaciones. Por ejemplo, en mi barra de notificaciones son de color blanco, y me gustaría ponerlos de color amarrillo. Más o menos me va saliendo todo de este tutorial, pero eso no se como se hace :(
Alquien sabes que línea de código es y donde se encuentra.
Gracias.
nachokyle
29/09/13, 14:25:58
Alguna persona sabe como cambiar de color el botón de la barra de notificaciones. Por ejemplo, en mi barra de notificaciones son de color blanco, y me gustaría ponerlos de color amarrillo. Más o menos me va saliendo todo de este tutorial, pero eso no se como se hace :(
Alquien sabes que línea de código es y donde se encuentra.
Gracias.
No sé a qué te refieres. Pon una captura y señala lo que quieras cambiar, porfa.
saibamans
29/09/13, 14:37:27
Es algo asi.....
http://box.jisko.net/i/114cdf33.png
Gracias por contestar rapido
id847278
29/09/13, 16:25:23
Enhorabuena, gran tutorial!!
nachokyle
29/09/13, 19:16:11
Es algo asi.....
http://box.jisko.net/i/114cdf33.png
Gracias por contestar rapido
Los toggles son pngs. Están en SystemUI/Res/Drawable-xhdpi y drawable-sw360dp-xhdpi
saibamans
29/09/13, 23:41:43
Gracias. Ya lo miro. Saludos
nachokyle
30/09/13, 00:09:11
Gracias. Ya lo miro. Saludos
A mandar.
Y ten en cuenta que hay un png por cada estado del toggle. O sea, pongamos de ejemplo el Wifi. Hay un png para cuando está activo, uno para cuando está apagado y uno para cuando está cambiando entre esos dos estados.
Si los pintas píntalos respetando eso o te quedará horrible.
saibamans
30/09/13, 04:38:42
Ya cuando lo haga os cuento...
Saludos
saibamans
06/10/13, 11:47:58
Ahora con mas tiempo en el fin de semana, parece que ya ha salido.
Muchas gracias por la ayuda recibida.....
Saludos:ok:
waoo eres lo maximo me gusto el tuto. me puedes ayudar a ocultar la bara de notificacion en pantalla completa, lo que pasa es que al abrir videos de youtube y algunos juegos me sale systemui se detuvo y no quiero cambiar mi systemui o de que otra manera podria solucionar eso gracias.
@nachokyle, vaya curro te has pegado. Enhorabuena, muy interesante y todo muy bien explicado.
Muchas gracias por compartirlo:ok:
brhm_70
17/11/13, 14:11:59
¿alguien sabe como poner el fondo donde van los toggles transparente o la ruta de el archivo?
gracias por el Tuto.muy bien explicado
https://dl.dropboxusercontent.com/u/35116901/2013-11-17%2013.52.54.png
jesus.sfc
13/12/13, 01:49:38
halguien sabe como poner en la bara debajo del simbolo de wifi las letras wifi y no las flexas muchas gracias
vBulletin® v3.8.1, Copyright ©2000-2026, Jelsoft Enterprises Ltd.