PDA

Ver la Versión Completa : [TUTORIAL] Modificar iconos de la barra de estado en SystemUI.apk


kassyan_123
03/06/13, 20:21:00
Cómo modificar los iconos de la barra de estado y mas:

Necesitaremos lo siguiente:

APKTOOL (Archivo 1 (http://android-apktool.googlecode.com/files/apktool1.5.2.tar.bz2) y Archivo 2 (http://android-apktool.googlecode.com/files/apktool-install-windows-r05-ibot.tar.bz2))



Editor de XML como Notepad++ (http://download.tuxfamily.org/notepadplus/6.3.3/npp.6.3.3.Installer.exe)



Archivos de nuestra ROM: SystemUI.apk (En la carpeta system/app) y framework-res.apk (En system/framework)


Para instalar Apktool extraemos los archivos de los comprimidos que descargamos anteriormente en una carpeta, de tal forma que queden 3 archivos en dicha carpeta (aapt.exe, apktool.bat y apktool.jar).


Una vez hecho eso, ir a C:\Windows\System32 y copiar el archivo cmd.exe en la carpeta del Apktool. Hacemos lo mismo con los archivos SystemUI.apk y framework-res.apk.


Abrimos el cmd.exe y escribimos los siguientes comandos:

apktool if framework-res.apkapktool if SystemUI.apkAhora a personalizar. Pondré solo lo que yo he hecho siguiendo tutoriales de la web. Ya que no sé si otras modificaciones que he encontrado funcionarán. Tengo JB 4.1.2.

Antes de nada hay que decopilar SystemUI.apk. En el CMD introducimos lo siguiente:

apktool d SystemUI.apkCreará una carpeta llamada igual.


Cómo quitar el texto de tanto por ciento de batería:

En la carpeta SystemUI/res/layout buscamos el archivo status_bar.xml y lo abrimos con el editor de XML.
En la línea 14 (mas o menos) buscamos: <TextView android:layout_gravity="left|center" android:id="@id/battery_text" android:paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/status_bar_settings_settings_button" android:singleLine="true" style="@style/StatusBarNotificationText" />Tras android:id="@id/battery_text" copiamos lo siguiente: android:visibility="gone" y guardamos.


Cómo reemplazar el icono de la batería por otros que muestren el tanto por ciento:

Primero hay que reemplazar las imágenes de la batería en la carpeta SystemUI/res/drawable-xhdpi. Os dejos estos iconos (http://www.mediafire.com/?v57lj0sibm7z4lm) para el que le guste.
Tened en cuenta que los archivos deben ser nombrados con ésta estructura: stat_sys_battery_0 (el número del final irá de 0 a 100)

Después, buscamos el archivo stat_sys_battery.xml en SystemUI/res/drawable y reemplazamos por éste archivo (http://www.mediafire.com/?cnk5701jh9m1hlm).

Lo mismo hacemos con el archivo stat_sys_battery_charge.xml, por éste (http://www.mediafire.com/?3h66i7d6zn6tp2a).


También pueden reemplazar cualquier icono que quieran por otro con el mismo nombre en la carpeta drawable-xhdpi. Aquí os dejo algunos que tengo (http://www.mediafire.com/?rqrdcfxss0c5mxf).


Al final, después de hacer todas las modificaciones que querramos hay que copilar:

Primero abrimos el cmd e introducimos:

apktool b SystemUIEsto crea una carpeta dentro de SystemUI llamada build.

Abrimos el archivo SystemUI.apk anterior con WinRAR o Winzip o 7zip (Click derecho y "Abrir Con") y copiamos la carpeta META-INF y el archivo AndroidManifest.xml en SystemUI\build\apk.

Volvemos a cmd e introducimos:

apktool b SystemUI SystemUI.apkY ya tenemos nuestro apk modificado. Ahora solo hace falta sustituirlo por el original en la carpeta system/app de nuestra ROM y darle los mismos permisos que todos los archivos de esa carpeta.

Recomiendo renombrar el SystemUI.apk original de nuestra ROM a SystemUI.apk.bak para tener una copia de seguridad de él.


Espero que alguno que tenga conocimienos sobre el tema aporte algo más. Yo lo he puesto muy limitado por falta de tiempo y conocimiento y solo para JB en XS.

Saludos.

Kiamu
03/06/13, 20:32:06
:D
Muy bien explicado! :aplausos:

Yo sigo tutoriales de XDA ya hechos, "cambia esto aquí para hacer eso". Los smali y los xml me pierdo leyendolos...

kassyan_123
03/06/13, 20:35:29
:D
Muy bien explicado! :aplausos:

Yo sigo tutoriales de XDA ya hechos, "cambia esto aquí para hacer eso". Los smali y los xml me pierdo leyendolos...

Hace unos días no sabía absolutamente nada de esto. También he buscado tutoriales y tal y pensé que vendría bien compartir lo que he aprendido, no sé... :D

rockernaxo
03/06/13, 20:48:25
Olé!! Buenísima explicación.

No sé si es necesario para el SystemUI, pero también suelo instalar SemcGenericuxpres.apk, que contiene alguna dependencias del framework.

Elcausavzla
03/06/13, 21:01:31
cuando hay que copiar " META-INF y el archivo AndroidManifest.xml en SystemUI\build\apk." no tengo la carpeta build en la carpeta q se me creo en el apktool ni en el apk original podrias explicar un poco mejor esa parte? gracias de antemano

kassyan_123
03/06/13, 21:08:34
cuando hay que copiar " META-INF y el archivo AndroidManifest.xml en SystemUI\build\apk." no tengo la carpeta build en la carpeta q se me creo en el apktool ni en el apk original podrias explicar un poco mejor esa parte? gracias de antemano

Al introducir el comando apktool b SystemUI en el cmd te creará esa carpeta.

barca1020
03/06/13, 21:36:32
Intente hacerlo pero cambie varios iconos pero cuando intento hacer la ultima parte "apktool b SystemUI" de este codigo me da muchos errores, a que se debe esto amigo :sisi1:

kassyan_123
03/06/13, 21:43:56
Intente hacerlo pero cambie varios iconos pero cuando intento hacer la ultima parte "apktool b SystemUI" de este codigo me da muchos errores, a que se debe esto amigo :sisi1:

A mi también me pasó una vez al principio. Pero desconozco la razón. Puede que los iconos sean demasiado grandes o pequeñoso o hay demás, no sé qué decir.
Yo lo que hice, fue empezar de nuevo y después de decopilar, hacer un backup de la carpeta SystemUI y cada vez que modificaba algo, comprobaba si copila bien con ese comando. Si no lo hacía, es que algo de lo que había modificado estaba mal.
Lo gracioso que es que la segunda vez, cuando lo hice con ese método que te acabo de decir ya no me daba errores... Por eso no sé

Kiamu
03/06/13, 21:47:23
Para estas cosas también teneis Virtuous Ten Studio (chivatazo que me hizo el compañero rockernaxo) que va muy bien.

kassyan_123
03/06/13, 21:53:45
Para estas cosas también teneis Virtuous Ten Studio (chivatazo que me hizo el compañero rockernaxo) que va muy bien.

NICE! :oh:

puncha10
05/06/13, 20:22:35
Niño, pues yo por mas que lo intento no consigo hacer que la ultima parte me cree la apk, siempre me da error, no podrías subir la que tu has creado?

Gracias.

barca1020
05/06/13, 20:25:36
Niño, pues yo por mas que lo intento no consigo hacer que la ultima parte me cree la apk, siempre me da error, no podrías subir la que tu has creado?

Gracias.

Estamos iguales :cry::shock:

rockernaxo
05/06/13, 22:08:13
Subir los errores que os da el apktool e intento ayudaros ;)

puncha10
06/06/13, 00:25:44
Subir los errores que os da el apktool e intento ayudaros ;)

Ya he encontré el fallo el error me lo da en que hace referencia al icono aninfull en stat-sys-battery y no lo incluía en los iconos del systenuy.

Gracias.

kassyan_123
06/06/13, 13:04:58
Niño, pues yo por mas que lo intento no consigo hacer que la ultima parte me cree la apk, siempre me da error, no podrías subir la que tu has creado?

Gracias.

No sé qué problema tenéis, si solo con seguir eso lo copila normalmente.
Os aconsejo que lo hagáis por partes. Haced unas modificaciones e intentad copilar, si veis que funciona seguís, si no, es que algo habéis hecho mal.
No se como ayudaros de otra forma. Os recuerdo que no soy um experto. He aprendido hace unos días de seguir tutoriales por la web.

Rey26
24/07/13, 00:44:28
excelente el tutorial todo bien hasta que creo la (carpeta build.) pero no entendi esta parte "Abrimos el archivo SystemUI.apk anterior con WinRAR y copiamos la carpeta META-INF y el archivo AndroidManifest.xml en SystemUI\build\apk."
Ayuda esta parte como abrir el archivo (SystemUI.apk anterior con WinRAR) no entiendo eso, otra cosa donde esta la carpeta META-INF y el archivo AndroidManifest.xml Gracias por tu ayuda de antemano.

Rey26
24/07/13, 01:28:06
ya lo hice todo me salio bien pero donde esta el archivo SystemUI.apk modificado?????????????? si es el mismo archivo SystemUI.apk de la carpeta apktool-install-windows-r05-ibot no pasa nada ya lo probe y no pasa nada

kassyan_123
24/07/13, 01:38:10
excelente el tutorial todo bien hasta que creo la (carpeta build.) pero no entendi esta parte &quot;Abrimos el archivo SystemUI.apk anterior con WinRAR y copiamos la carpeta META-INF y el archivo AndroidManifest.xml en SystemUI\build\apk.&quot;
Ayuda esta parte como abrir el archivo (SystemUI.apk anterior con WinRAR) no entiendo eso, otra cosa donde esta la carpeta META-INF y el archivo AndroidManifest.xml Gracias por tu ayuda de antemano.

Después de introducir el comando "apktool b SystemUI" en el CMD, nos crea una carpeta BUILD dentro de la carpeta SystemUI, no?
Ahora, el archivo SystemUI.apk que has copiado de tu movil anteriormente lo abrimos con WINRAR o WINZIP dando click derecho sobre el archivo y en "Abrir con..." selecionamos el WINRAR O WINZIP. Dentro hay una carpeta META-INFO y el archivo AndroidManifest.xml. Los extraemos en la carpeta SystemUI/build/apk. Y ya sigues con el siguiente paso y ya está.

kassyan_123
24/07/13, 01:41:37
ya lo hice todo me salio bien pero donde esta el archivo SystemUI.apk modificado?????????????? si es el mismo archivo SystemUI.apk de la carpeta apktool-install-windows-r05-ibot no pasa nada ya lo probe y no pasa nada

Sí es el mismo, si no recuerdo mal.
Intenta borrar primero el original o renombrarlo si lo tienes en la misma carpeta e intentalo de nuevo.

Rey26
25/07/13, 08:17:42
Gracias me salio todo bien si funciona excelente..... no cambie iconos solo cambie el color de algunos iconos con Photoshop para probar, lo que no encuentro es el icono del Usb

Raer Sm
26/07/13, 21:14:07
en el XML editor me salen letras negras y no todo lo que debería estar, alguna solución?

Costa1212
29/07/13, 12:39:17
Saludos, creo, que eso es porque no se ha descompilado, si lo hubiera hecho, te saldría todo el texto perfectamente entendible. Intenta volver a descompilar.

Raer Sm
10/08/13, 06:27:23
Saludos, creo, que eso es porque no se ha descompilado, si lo hubiera hecho, te saldría todo el texto perfectamente entendible. Intenta volver a descompilar.

Gracias, ya funcionó

her_hurlingham
17/09/13, 17:49:16
hola! estoy intentando modificar yo mismo el systemui y este tuto me sirvio muchisimo.
Por favor me podrian indicar si desde el apktool puedo modificar la transparencia de la barra y centrar el reloj?
gracias!!

kassyan_123
17/09/13, 18:35:07
hola! estoy intentando modificar yo mismo el systemui y este tuto me sirvio muchisimo.
Por favor me podrian indicar si desde el apktool puedo modificar la transparencia de la barra y centrar el reloj?
gracias!!

Sí se puede claro.
Prueba ésto:

Primero los códigos para trasparencia:

#00000000 - 100% transparencia

#3F000000 - 75% transparencia

#7F000000 - 50% transparencia

#BF000000 - 25% transparencia


Abrir el archivo tw_super_status_bar.xml en SystemUI/res/layout/ y por ejemplo para cambiar la barra al 100% de transparencia:

<com.android.systemui.statusbar.phone.StatusBarWind owView android:background="#00000000" android:focusable="true" android:fitsSystemWindows="true" android:descendantFocusability="afterDescendants"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">

Guardar el archivo tw_super_status_bar.xml.

Abrir el archivo drawables.xml en SystemUI/res/values/ y hacer lo mismo:

<item type="drawable" name="status_bar_background">#00000000</item>

Guardar drawables.xml y recopilar.

Para centrar reloj:

Abrir archivo status_bar.xml en SystemUI/res/layout/.

Buscar LinearLayout Area y elimiar todo entre las etiquetas LinearLayout.

Añadir esto entre las etiquetas anteriores:
<RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent">
<com.android.systemui.statusbar.StatusBarIconView android:id="@id/moreIcon" android:layout_alignParentLeft="true" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/stat_notify_more" />
<com.android.systemui.statusbar.phone.IconMerger android:layout_toRightOf="@id/moreIcon" android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_alignParentLeft="true" />
<com.android.systemui.statusbar.policy.Clock android:layout_centerInParent="true" android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:textColor="@*android:color/white" android:gravity="center" android:id="@id/clock" android:paddingLeft="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
<ImageView android:id="@id/battery" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" />
<include android:id="@id/signal_cluster" android:layout_width="wrap_content" android:layout_height="wrap_content" layout="@layout/signal_cluster_view" android:layout_toLeftOf="@id/battery" />
<LinearLayout android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" android:gravity="center_vertical" android:layout_toLeftOf="@id/signal_cluster" />
</RelativeLayout>

Y recopilar.

her_hurlingham
17/09/13, 19:10:56
Sí se puede claro.
Prueba ésto:

Primero los códigos para trasparencia:

#00000000 - 100% transparencia

#3F000000 - 75% transparencia

#7F000000 - 50% transparencia

#BF000000 - 25% transparencia


Abrir el archivo tw_super_status_bar.xml en SystemUI/res/layout/ y por ejemplo para cambiar la barra al 100% de transparencia:

<com.android.systemui.statusbar.phone.StatusBarWind owView android:background="#00000000" android:focusable="true" android:fitsSystemWindows="true" android:descendantFocusability="afterDescendants"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">

Guardar el archivo tw_super_status_bar.xml.

Abrir el archivo drawables.xml en SystemUI/res/values/ y hacer lo mismo:

<item type="drawable" name="status_bar_background">#00000000</item>

Guardar drawables.xml y recopilar.

Para centrar reloj:

Abrir archivo status_bar.xml en SystemUI/res/layout/.

Buscar LinearLayout Area y elimiar todo entre las etiquetas LinearLayout.

Añadir esto entre las etiquetas anteriores:
<RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent">
<com.android.systemui.statusbar.StatusBarIconView android:id="@id/moreIcon" android:layout_alignParentLeft="true" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/stat_notify_more" />
<com.android.systemui.statusbar.phone.IconMerger android:layout_toRightOf="@id/moreIcon" android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_alignParentLeft="true" />
<com.android.systemui.statusbar.policy.Clock android:layout_centerInParent="true" android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:textColor="@*android:color/white" android:gravity="center" android:id="@id/clock" android:paddingLeft="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
<ImageView android:id="@id/battery" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" />
<include android:id="@id/signal_cluster" android:layout_width="wrap_content" android:layout_height="wrap_content" layout="@layout/signal_cluster_view" android:layout_toLeftOf="@id/battery" />
<LinearLayout android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" android:gravity="center_vertical" android:layout_toLeftOf="@id/signal_cluster" />
</RelativeLayout>

Y recopilar.
Gracias genio! rapidisma la respuesta X-D
Lo pruebo y aviso como me fue, gracias!!

rockernaxo
17/09/13, 21:41:01
Abrir el archivo tw_super_status_bar.xml en SystemUI/res/layout/ y por ejemplo para cambiar la barra al 100% de transparencia:

<com.android.systemui.statusbar.phone.StatusBarWind owView android:background="#00000000" android:focusable="true" android:fitsSystemWindows="true" android:descendantFocusability="afterDescendants"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">Guardar el archivo tw_super_status_bar.xml.

Abrir el archivo drawables.xml en SystemUI/res/values/ y hacer lo mismo:

<item type="drawable" name="status_bar_background">#00000000</item>Guardar drawables.xml y recopilar.


Si cambias el primero: status_bar.xml no hace falta modificar el segundo. Fíjate que lo que haces en status_bar.xml es borrar la referencia del background hacia el drawable status_bar_background.

En realidad, consiste en cambiar la referencia directamente por un color o modificar el drawable al color que queramos :guiño:

Por otra parte, para añadir transparencia hay que parchear el android.policy.jar si no está hecho ya. Más info aquí: http://forum.xda-developers.com/showthread.php?t=2262268

maxito_25
21/11/13, 15:29:24
Hola gente tengo un Motorola Motosmart Me xt303 con android 2.3.6 y quisiera que me ayuden a modificar el framework-res.apk quiero ponerle un icono de bateria estilo circular... quisiera que me ayuden o me guien como editar... porque ya eh brickeado mi cel 3 veces a causa de que no se me dan los resultados... desde ya gracias....

frikiman004
14/04/14, 11:21:28
Hola chicos. Para empezar, decir que he seguido lo que se pone en este tuto. La cosa está en que cada vez que intento descompilar me sale esto:

java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) Client VM (build 24.51-b03, mixed mode, sharing)
No se pudo encontrar D:\Escritorio\apkmanager\place-apk-here-for-modding\../place-apk-here-for-modding/signedSystemUI.apk
No se pudo encontrar D:\Escritorio\apkmanager\place-apk-here-for-modding\../place-apk-here-for-modding/unsignedSystemUI.apk
I: Baksmaling...
I: Loading resource table...
Exception in thread "main" brut.androlib.AndrolibException: Multiple resources: spec=0x7f0a000e dimen/status_bar_icon_drawing_size, config=-v13
at brut.androlib.res.data.ResConfig.addResource(ResCo nfig.java:65)
at brut.androlib.res.data.ResConfig.addResource(ResCo nfig.java:58)
at brut.androlib.res.decoder.ARSCDecoder.readEntry(AR SCDecoder.java:196)
at brut.androlib.res.decoder.ARSCDecoder.readConfig(A RSCDecoder.java:165)
at brut.androlib.res.decoder.ARSCDecoder.readType(ARS CDecoder.java:130)
at brut.androlib.res.decoder.ARSCDecoder.readPackage( ARSCDecoder.java:105)
at brut.androlib.res.decoder.ARSCDecoder.readTable(AR SCDecoder.java:82)
at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCD ecoder.java:48)
at brut.androlib.res.AndrolibResources.getResPackages FromApk(AndrolibResources.java:315)
at brut.androlib.res.AndrolibResources.loadMainPkg(An drolibResources.java:50)
at brut.androlib.res.AndrolibResources.getResTable(An drolibResources.java:43)
at brut.androlib.Androlib.getResTable(Androlib.java:4 4)
at brut.androlib.ApkDecoder.getResTable(ApkDecoder.ja va:148)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:98 )
at brut.apktool.Main.cmdDecode(Main.java:120)
at brut.apktool.Main.main(Main.java:57)

En projects me aparece una carpeta, pero todo aparece en formato smali y no aparece nada en xml para poder revisar los codigos (que es lo que intento). Asi que..... No tengo ni idea de que hacer ni que intentar. Solamente decir que tengo el apkmanager 5.0.2 y estoy intentando descompilar el SystemUI.apk
Eternamente agradecido a quien me ayude. X-D

EDITO: Vale, ya esta. Me he bajado el APK-multitool v1.0.1.1 y ahora si lo he conseguido :platano:

HeilNyza
16/04/14, 21:11:30
Sirve para otras apk por ejemplo para hacer dinero en un juego y asi?

alone s
18/04/14, 14:52:32
Hola podriais ayudarmr a cambiar de color los iconos y del system ui

frikiman004
23/04/14, 23:15:01
Hola podriais ayudarmr a cambiar de color los iconos y del system ui

Saca los iconos y modificalos con photoshop. Eso seria lo mas sencillo...