Tutoriales Manuales, tutos, recetas, postres, etc

Respuesta
 
Herramientas
  #141  
Viejo 09/04/16, 03:31:06
Array

[xs_avatar]
RoyyertJR RoyyertJR no está en línea
Usuario poco activo
 
Fecha de registro: abr 2016
Mensajes: 5
Modelo de smartphone: Huawei Y221
Tu operador: Movistar
Hola, Tengo un Problema en el Post del ApkTools Explicas como Descompilar el Framework y no el SystemUI, Intente el Mismo Proceso pero con el SystemUI y me da Error!!

Saludos!!

PD:Buen Tutorial..!!
Responder Con Cita


  #142  
Viejo 10/04/16, 05:24:49
Array

[xs_avatar]
RoyyertJR RoyyertJR no está en línea
Usuario poco activo
 
Fecha de registro: abr 2016
Mensajes: 5
Modelo de smartphone: Huawei Y221
Tu operador: Movistar
 Cita: Originalmente Escrito por MorSerNa Ver Mensaje


¡ Hola HTCManíacos !
En éste tutorial, de manera eficiente, conseguiremos una apariencia al mas puro estilo android 5.0 lollipop modificando una tira de archivos en la aplicación " SystemUI " .

.: F.A.Q ( Frequent asked questions ) :.

. ¿ En que versiones de Android funciona ?

- Funciona en las siguientes versiones de Android :
- Android 4.1.X - 4.3.X Jelly Bean .
- Android 4.4.X Kit Kat ( Aún por confirmar ) [Confirmado por el compi JBC_Dev]

. ¿ Que teléfono se debe tener para realizar la guía ?

- No es una guía para un modelo en concreto, pero
recomiendo encarecidamente éstos modelos :
Un modelo dotado de procesador MediaTek .
Un modelo dotado de la skin TouchWiz ( Samsung's ) .
Un modelo dotado de Android puro ( AOSP ) .
O en su defecto, usted puede probar en otros OS's
Por ejemplo : EMUI ( Huawei ) o MIUI ( XIAOMI ) .

. ¿ Puede brickear ésto mi teléfono ?

- No necesariamente si se hace todo correctamente,
Recomendamos encarecidamente, tener un backup por si algo falla .

.: PreRequisitos :.
. SystemUI.apk ( Localizado en /system/priv-app o /system/app ) de nuestra ROM ¡ ATENCIÓN ! : Nuestra ROM debe ser deodexada, si en /system/app, observamos archivos .odex, deberás deodexearlo con alguna herramienta como dxidsa
. Si realizamos la guía para un dispositivo con procesador MediaTek, necesitaremos los archivos framework-res.apk y mediatek-res.apk localizados en /system/framework . ¡ ATENCIÓN ! Si falta alguno de los archivos previamente mencionados, no pasa nada, prosiga con la guía .
. Si realizamos la guía para un dispositivo dotado de TouchWiz ( Véase dispositivos Samsung ) necesitaremos los archivos tw-framework-res.apk y el archivo framework-res.apk localizados en /system/framework . ¡ ATENCIÓN ! Si falta alguno de los archivos previamente mencionados, no pasa nada, prosiga con la guía .
. APK_Tool 1.5.2 ( Versiones mas nuevas, dan errores con los archivos " .smali ", este es el que yo use http://foro.root4ever.com/Tema-Tutor...-s-WINDOWS-307 )
. Archivos encontrados en el post .
. SentidoComún.apk y Cerebro.jar, no, ¡ Solo bromeaba ! .

Resultado

(Click para mostrar/ocultar)




Una vez tengamos el Apk Tool configurado ya podemos empezar a editar el SystemUI.
Para ello, debemos descompilar el SystemUI de nuestro terminal (El enlace del Apk Tool os lo explica perfectamente, pero bueno, cualquier cosa avisadme)

Una vez que tengamos el SystemUI descompilado, empezaremos a editarlo.


Ahora nos dirigimos a la carpeta values y buscamos el archivo colors.xml
Justo debajo de <resources> añadimos los siguientes colores:
Código:
<color name="ani_quickpanel_text_color_ing">#ff75899b</color>
<color name="ani_quickpanel_text_color_off">#ff999fa4</color>
<color name="ani_quickpanel_text_color_on">#ffffffff</color>
En esta misma carpeta buscamos el archivo ids.xml y justo debajo de <resources> pegamos el siguiente codigo:
Código:
<item type="id" name="ani_quickpanel_wifi_btn_icon">false</item>
<item type="id" name="ani_quickpanel_bluetooth_btn_icon">false</item>
<item type="id" name="ani_quickpanel_gps_btn_icon">false</item>
<item type="id" name="ani_quickpanel_data_btn_icon">false</item>
<item type="id" name="ani_quickpanel_sync_btn_icon">false</item>
<item type="id" name="ani_quickpanel_rotate_btn_icon">false</item>
<item type="id" name="ani_quickpanel_sound_btn_icon">false</item>
<item type="id" name="ani_quickpanel_vibrate_btn_icon">false</item>
<item type="id"  name="ani_quickpanel_quick_settings">false</item>
Por ultimo buscamos el archivo strings.xml y justo debajo de <resources> pegamos el siguiente código:
Código:
<string name="ani_quickpanel_wifi_text">Wi-Fi</string>
<string name="ani_quickpanel_bluetooth_text">Bluetooth</string>
<string name="ani_quickpanel_gps_text">GPS</string>
<string name="ani_quickpanel_data_text">Data</string>
<string name="ani_quickpanel_sync_text">Auto\nSync</string>
<string name="ani_quickpanel_rotate_text">Auto\nRotation</string>
<string name="ani_quickpanel_sound_text">Sound</string>
<string  name="ani_quickpanel_vibrate_text">Vibration</string>
Ahora necesitamos meter en estas carpetas algunos archivos:
http://www.mediafire.com/download/5k...raLollipop.rar
Meted cada archivo en su respectiva carpeta.

Ahora compilamos y si todo ha funcionado correctamente volvemos a descompilar.
Esta parte es la más aburrida de todas, pero bueno, tendrá su recompensa

Debemos dirigirnos a la carpeta values y abrir el archivo public.xml.
También nos dirigimos a smali\com\mda\Ltoggle\AutoRotationSetting Button.smali.
Abrimos estos dos archivos y comparamos las ids públicas.
Código:
Line 98:     const v3, 0x7f090168<public type="id" name="ani_quickpanel_rotate_btn_icon"  
Line 130:    const v1, 0x7f02026b<public type="drawable" name="ani_quickpanel_icon_rotate_on"   
Line 133:    const v4, 0x7f0a0010<public type="color" name="ani_quickpanel_text_color_on"   
Line 139:    const v1, 0x7f02026a<public type="drawable" name="ani_quickpanel_icon_rotate_off"   
Line 142:    const v4, 0x7f0a000f<public type="color" name="ani_quickpanel_text_color_off"   
Line 312:    const v0, 0x7f0c01bb<public type="string"  name="ani_quickpanel_rotate_text"
¿Cómo se hace esto? Muy fácil pero muy largo.
Buscamos en el archivo public.xml <public type="id" name="ani_quickpanel_rotate_btn_icon". Justo al lado aparecerá : id="0x000000"
Debemos copiar esa ID, una vez copiada nos dirigimos al archivo .smali y en la linea que nos indica, cambiamos ese "0x00000" por el nuevo "0x00000".

Una vez hecho con todas las lineas, toca hacerlo con los demás smiles.
Abrimos smali\com\mda\Ltoggle\BluetoothSettingButton.smali y comparamos las ids:
Código:
Line 146:     const v3, 0x7f090164<public type="id" name="ani_quickpanel_bluetooth_btn_icon"   
Line 178:     const v1, 0x7f020263<public type="drawable" name="ani_quickpanel_icon_bluetooth_on"   
Line 181:     const v4, 0x7f0a0010<public type="color" name="ani_quickpanel_text_color_on"   
Line 187:     const v1, 0x7f020262<public type="drawable" name="ani_quickpanel_icon_bluetooth_off"   
Line 190:     const v4, 0x7f0a000f<public type="color" name="ani_quickpanel_text_color_off"   
Line 196:     const v1, 0x7f020261<public type="drawable" name="ani_quickpanel_icon_bluetooth_ing"   
Line 199:     const v4, 0x7f0a000e<public type="color" name="ani_quickpanel_text_color_ing"   
Line 477:     const v0, 0x7f0c011e<public type="string" name="ani_quickpanel_bluetooth_text"
Abrimos SystemUI\smali\com\mda\Ltoggle\GpsSettingButton.sm ali y comparamos.

Código:
Line 98:     const v3, 0x7f090165<public type="id" name="ani_quickpanel_gps_btn_icon"   
Line 130:    const v1, 0x7f020267<public type="drawable" name="ani_quickpanel_icon_gps_on"   
Line 133:    const v4, 0x7f0a0010<public type="color" name="ani_quickpanel_text_color_on"   
Line 139:    const v1, 0x7f020266<public type="drawable" name="ani_quickpanel_icon_gps_off"   
Line 142:    const v4, 0x7f0a000f<public type="color" name="ani_quickpanel_text_color_off"   
Line 312:    const v0, 0x7f0c011f<public type="string" name="ani_quickpanel_gps_text"
Abrimos SystemUI\smali\com\mda\Ltoggle\MobileDataSettingBu tton.smali y comparamos:

Código:
Line 142:     const v3, 0x7f090166<public type="id" name="ani_quickpanel_data_btn_icon"   
Line 174:     const v1, 0x7f020265<public type="drawable" name="ani_quickpanel_icon_data_on"   
Line 177:     const v4, 0x7f0a0010<public type="color" name="ani_quickpanel_text_color_on"   
Line 183:     const v1, 0x7f020264<public type="drawable" name="ani_quickpanel_icon_data_off"   
Line 186:     const v4, 0x7f0a000f<public type="color" name="ani_quickpanel_text_color_off"   
Line 433:     const v0, 0x7f0c01ba<public type="string" name="ani_quickpanel_data_text"
Abrimos SystemUI\smali\com\mda\Ltoggle\SoundSettingButton. smali y comparamos:

Código:
Line 127:     const v3, 0x7f090169<public type="id" name="ani_quickpanel_sound_btn_icon"   
Line 159:     const v1, 0x7f02026d<public type="drawable" name="ani_quickpanel_icon_sound_on"   
Line 162:     const v4, 0x7f0a0010<public type="color" name="ani_quickpanel_text_color_on"   
Line 168:     const v1, 0x7f02026c<public type="drawable" name="ani_quickpanel_icon_sound_off"   
Line 171:     const v4, 0x7f0a000f<public type="color" name="ani_quickpanel_text_color_off"   
Line 478:     const v0, 0x7f0c01bc<public type="string" name="ani_quickpanel_sound_text"
Abrimos SystemUI\smali\com\mda\Ltoggle\SyncSettingButton.s mali y comparamos:

Line 103: const v3, 0x7f090167<public type="id" name="ani_quickpanel_sync_btn_icon"
Line 135: const v1, 0x7f02026f<public type="drawable" name="ani_quickpanel_icon_sync_on"
Line 138: const v4, 0x7f0a0010<public type="color" name="ani_quickpanel_text_color_on"
Line 144: const v1, 0x7f02026e<public type="drawable" name="ani_quickpanel_icon_sync_off"
Line 147: const v4, 0x7f0a000f<public type="color" name="ani_quickpanel_text_color_off"
Line 315: const v0, 0x7f0c0129<public type="string" name="ani_quickpanel_sync_text"

Abrimos SystemUI\smali\com\mda\Ltoggle\VibrateSettingButto n.smali y comparamos:

Line 157: const v3, 0x7f09016a<public type="id" name="ani_quickpanel_vibrate_btn_icon"
Line 189: const v1, 0x7f020271<public type="drawable" name="ani_quickpanel_icon_vibrate_on"
Line 192: const v4, 0x7f0a0010<public type="color" name="ani_quickpanel_text_color_on"
Line 198: const v1, 0x7f020270<public type="drawable" name="ani_quickpanel_icon_vibrate_off"
Line 201: const v4, 0x7f0a000f<public type="color" name="ani_quickpanel_text_color_off"
Line 330: const v0, 0x7f0c01bd<public type="string" name="ani_quickpanel_vibrate_text"

Abrimos SystemUI\smali\com\mda\Ltoggle\WifiSettingButton.s mali y comparamos.

Código:
Line 90:     const v3, 0x7f090163<public type="id" name="ani_quickpanel_wifi_btn_icon"   
Line 122:     const v1, 0x7f020274<public type="drawable" name="ani_quickpanel_icon_wifi_on"   
Line 125:     const v4, 0x7f0a0010<public type="color" name="ani_quickpanel_text_color_on"   
Line 131:     const v1, 0x7f020273<public type="drawable" name="ani_quickpanel_icon_wifi_off"   
Line 134:     const v4, 0x7f0a000f<public type="color" name="ani_quickpanel_text_color_off"   
Line 140:     const v1, 0x7f020272<public type="drawable" name="ani_quickpanel_icon_wifi_ing"   
Line 143:     const v4, 0x7f0a000e<public type="color" name="ani_quickpanel_text_color_ing"   
Line 415:     const v0, 0x7f0c011d<public type="string"  name="ani_quickpanel_wifi_text"
Una vez aqui, lo más largo ya esta hecho !!!!
Ahora debemos guardar todo y recompilar.
Si ahora lo probais obtendreis algo así, pero el tutorial continua:
(Click para mostrar/ocultar)

Ya se parece bastante, pero faltan muchas cosas ¿verdad?
Pues vamos a ello.

Lo siguiente será añadir el control de brillo, para hacer esto es muy fácil:
Descargamos los siguientes archivos: http://www.mediafire.com/download/a5...Brightness.zip

Pasamos cada archivo a su respectiva carpeta. (EASY)
Debemos dirigirnos a la carpeta values y abrir el archivo public.xml.
Buscamos el siguiente código y copiamos su id. (Podeis copiarla en un bloc de notas)
Código:
name="progress_horizontal
Buscamos el siguiente código y copiamos su id. (Podeis copiarla en un bloc de notas)
Código:
name="thumb
Ahora nos dijirmos a smali/in/jmkl/dcsms/statusbargreper y abrimos SlideBrightness.smali
Una vez aquí, buscamos el código 0x7f0200e9 y lo remplazamos por la id del progress_horizontal.
Tambien buscamos el código 0x7f0200ea y lo remplazamos por el de thumb.
Guardamos el smali.
Ahora vamos a res>layout>ani_toggle_mda.xml
Buscamos esta línea:
Código:
<LinearLayout android:gravity="center_vertical"  android:orientation="horizontal" android:layout_width="fill_parent"  android:layout_height="100.0dip">
Y justo encima pegamos esta otra:
Código:
<LinearLayout android:gravity="center"  android:orientation="horizontal" android:background="#ff243137"  android:paddingLeft="15.0dip" android:paddingTop="1.0dip"  android:paddingRight="15.0dip" android:paddingBottom="1.0dip"  android:layout_width="fill_parent" android:layout_height="45.0dip">
            <in.jmkl.dcsms.statusbargreper.SlideBrightness  android:gravity="center" android:layout_width="fill_parent"  android:layout_height="wrap_content" />
        </LinearLayout>
Con esto y un bizcocho ya tenemos la barra de control de brillo.
Compilamos y para seguir sin errores volvemos a descompilar
Ahora nos falta esto:
(Click para mostrar/ocultar)


Asi que vamos a ello.
Descargamos el siguiente zip http://www.mediafire.com/download/u9...r.9%282%29.zip
Dentro se encuentra una imagen, la arrastramos hasta resdrawable-hdpi drawable-mdpi o drawable-xxhdpi (Mi carpeta por defecto es resdrawable-hdpi).
Nos dirijimos a status_bar_expanded_header.xml
En la segunda linea de este .xml buscamos:
Código:
android:background="blablabla"
Y lo cambiamos por:
Código:
android:background="@drawable/l_header"
Buscamos el resto de los android:background="blalblablal" y los cambiamos por android:background="#00000000", obviamente si cambiar el de la segunda linea.

Y ahora en res>values>dimens.xml buscamos:
Código:
<dimen name="notification_panel_header_height">48.0dip</dimen>
y el 48.00dip lo cambiamos por 96.00dip.

PD: El siguiente paso solo lo pueden hacer algunos, pero si no lo podeis hacer no pasa nada.

Nos dirigimos a res>layout>flip_settings.xml buscamos esta línea:
Código:
<com.android.systemui.statusbar.phone.QuickSettingsContainerView  android:id="@id/quick_settings_container"  android:layout_width="fill_parent" android:layout_height="wrap_content"  android:animateLayoutChanges="true"  android:columnCount="@integer/quick_settings_num_columns" />
y la cambiamos por esta otra:
Código:
<include layout="@layout/ani_toggle_mda" />
Nos dirigimos a la carpeta res>layout y buscamos el archivo status_bar_expanded.xml / tw_status_bar_expanded.xml

Buscamos la línea:
Código:
<include layout="@layout/ani_toggle_mda" />
y la eliminamos.
Y ahora si, compilamos, firmamos y probamos en el móvil con permisos 644.

Cualquier error, adjuntar el log que os genera el APK Tool

Graaacias por leer ^^

Créditos:
Aniruddha_Pathak (XDA Forum)
http://themerspoint.blogspot.in (Blog)
Todos los miembros de esPCializados ( http://www.espcializados.es )
Subham Kumar (Amigo)
A todos los compañeros de DarkSideTeam, que me ayudaron hasta el final ^^
JBC_Dev, haciendo así, que la guía sea más entendible

PARTE II. Añadir iconos en el header

(Click para mostrar/ocultar)


Para ello descargaremos los siguientes archivos:
~~ http://www.mediafire.com/download/qt...lis%282%29.zip
~~ http://www.mediafire.com/download/z9.../Resources.rar

Buscamos la siguiente linea en status_bar_expanded_header.xml[MTK] / tw_status_bar_expanded_header.xml[TouchWiz]

<Space android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_weight="1.0" />
Y justo debajo copiamos esto:

Código:
<LinearLayout android:gravity="right|center" android:orientation="horizontal" android:paddingLeft="30.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1.0" android:layout_alignParentRight="true">
        <com.fmd.icons.BluetoothIcon android:paddingRight="5.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" />
        <com.fmd.icons.AlarmIcon android:paddingRight="5.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" />
        <com.fmd.icons.WifiIcon android:paddingRight="5.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" />
        <com.fmd.btn.LBatteryBar android:layout_width="wrap_content" android:layout_height="wrap_content" />
        <ImageView android:paddingLeft="5.0dip" android:layout_width="32.0dip" android:layout_height="32.0dip" android:src="@drawable/user_tamvan" />
        <FrameLayout android:id="@id/settings_button_holder" android:paddingTop="10.0dip" android:layout_width="50.0dip" android:layout_height="50.0dip" android:layout_marginLeft="12.0dip">
            <ImageView android:id="@id/settings_button" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_notify_settings" android:scaleType="center" android:contentDescription="@string/accessibility_desc_quick_settings" />
            <ImageView android:id="@id/notification_button" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_notify_settings" android:scaleType="center" android:contentDescription="@string/accessibility_notifications_button" />
        </FrameLayout>
Debemos de eliminar las siguientes lineas :
(Click para mostrar/ocultar)


Es decir, el ultimo grupo de FrameLayout.
Añadimos los archivos descargados en cada una de las carpetas que se indican.
Compilamos y volvemos a compilar.

Ahora vamos a res/values/public.xml
Buscamos
<public type="drawable" name="stat_sys_battery_charge"y copiamos su id.
Nos dirigimos a res/smali/com/fmd/btn/LBatteryBar$1.smali
Buscamos por:
0x7f020145
y lo remplazamos por la id de public.xml.

Ahora hacemos lo mismo pero con:
<public type="drawable" name="stat_sys_battery"

0x7f02013c
Guardamos, compilamos y probamos.

PARTE III. Añadir márgenes [TW][MTK]

Los margenes a los que me refiero son estos:
(Click para mostrar/ocultar)


Resultado:
(Click para mostrar/ocultar)


Si tu archivo .xml del es tw_status_bar_expanded.xml:

Vamos a abrir el archivo res/layout/tw_status_bar_expanded.xml, y en la segunda linea buscamos esto:
Código:
android:paddingTop="@dimen/notification_panel_padding_top"
Lo remplazamos por el siguiente código:
Código:
android:paddingLeft="0.0dip" android:paddingTop="0.0dip" android:paddingBottom="0.0dip" android:paddingRight="0.0dip"
Donde pone 0.0dip debemos elegir cuanto de largo será el margen (creo que medida estandar son 4.5)

Si tu archivo .xml es status_bar_expanded.xml :
Vamos a abrir el archivo res/layout/status_bar_expanded.xml, y en la segunda linea buscamos esto:
Código:
<com.android.systemui.statusbar.phone.NotificationPanelView android:id="@id/notification_panel"
De seguido pegamos el siguiente código:
Código:
android:paddingLeft="5.0dip" android:paddingRight="5.0dip" android:layout_marginStart="5.0dip" android:layout_marginEnd="5.0dip"
En el mismo .xml buscamos:
Código:
<LinearLayout android:orientation="vertical"
De seguido pegamos el siguiente código:
Código:
 android:layout_marginStart="5.0dip" android:layout_marginEnd="5.0dip"
En mi móvil (HUAWEI G510), se ve mejor con 6.5dip en vez de 5.0dip. A vuestro gusto ^^

PARTE IV. Añadir funcion a los iconos del header

Hoy veremos cómo añadir función a los iconos añadidos en la Parte II.

Para esto nos dirijimos a status_bar_expanded_header.xml y buscamos esta linea:

Código:
<com.fmd.icons.WifiIcon android:paddingRight="5.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content"
Justo después añadimos este código:

Código:
android:onClick="FMDWifi"
¿Qué significa esto? Que al dar click se ejecute la funcion FMDWifi. ¿Dónde programamos la función? En smali\com\android\systemui
\SystemUIService.smali
Vamos a este smali y buscamos por:
Código:
# virtual methods
Justo debajo añadimos este código:


Código:
     .method public FMDWifi(Landroid/view/View;)V
     .locals 3
     .parameter "v"

     .prologue
     .line 2431
     new-instance v0, Landroid/content/Intent;

     invoke-direct {v0}, Landroid/content/Intent;-><init>()V

     .line 2432
     const-string v1, "com.android.settings"

     const-string v2, "com.android.settings.wifi.WifiSettings"

     invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->setClassName(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;

     const/high16 v2, 0x1000

     invoke-virtual {v0, v2}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;

     move-result-object v0

     .line 2433
     invoke-virtual {p0, v0}, Landroid/content/Context;->startActivity(Landroid/content/Intent;)V

     const-string v1, "statusbar"

     invoke-virtual {p0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

     move-result-object v0

     check-cast v0, Landroid/app/StatusBarManager;

     invoke-virtual {v0}, Landroid/app/StatusBarManager;->collapsePanels()V

     .line 1720
     return-void
 .end method
DEBEIS DE DEJAR UN ESPACIO ENTRE EL ULTIMO .end method Y SIGUIENTE .method public, dejandolo así:

(Click para mostrar/ocultar)


Como veis, al principio del código invocamos la funcion FMDWifi.
Si bajamos en este codigo veremos const-string v1 y const-string v2
const-string v1 es la aplicacion que hay que abrir y const-string v2 es el intent, en este caso el apartado de WiFi.

Ya tenemos el del Wifi, hagamos el de la batería.

Para esto nos dirijimos a status_bar_expanded_header.xml y buscamos esta linea:
Código:
<com.fmd.btn.LBatteryBar android:layout_width="wrap_content" android:layout_height="wrap_content"
De seguido añadimos
Código:
android:onClick="FMDBateria"


Vamos a smali\com\android\systemui\SystemUIService.smali y buscamos por:
Código:
# virtual methods
Justo debajo añadimos este código:


Código:
.method public FMDBateria(Landroid/view/View;)V
     .locals 3
     .parameter "v"

     .prologue
     .line 2431
     new-instance v0, Landroid/content/Intent;

     invoke-direct {v0}, Landroid/content/Intent;-><init>()V

     .line 2432
     const-string v1, "com.android.settings"

     const-string v2, "com.android.settings.fuelgauge.PowerUsageSummary"

     invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->setClassName(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;

     const/high16 v2, 0x1000

     invoke-virtual {v0, v2}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;

     move-result-object v0

     .line 2433
     invoke-virtual {p0, v0}, Landroid/content/Context;->startActivity(Landroid/content/Intent;)V

     const-string v1, "statusbar"

     invoke-virtual {p0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

     move-result-object v0

     check-cast v0, Landroid/app/StatusBarManager;

     invoke-virtual {v0}, Landroid/app/StatusBarManager;->collapsePanels()V

     .line 1720
     return-void
 .end method
¡¡DEJANDO EL RESPECTIVO ESPACIO ENTRE METODOS!!

Se guarda, se compila y listo. Si quereis añadir alguno más, ya sabeis como se hace.


PARTE V. Cambiar iconos de QS
Esta parte esta dirijida a lo estetico, para que se parezca aún más a Lolipop
Descargamos el siguiente zip y lo descomprimimos en drawable-hdpi (Donde todos los iconos).
http://www.mediafire.com/download/hw...nsLollipop.rar
Remplazamos todos los iconos y ya está, ya tenemos una apariencia más lolliponiana
Se compila y listo.
Nos vemos !
PARTE VI. Añadir nombre Wi-Fi
Para añadir el nombre de la wifi a la que estamos conectada debemos descargar los siguientes smali y guardarlo en su respectiva carpeta
http://www.mediafire.com/download/39...w/WifiName.rar
Una vez colocado en cada sitio nos dirijimos a /res/layout/ani_toggle_mda.xml
Buscamos la siguiente línea
Código:
<com.mda.Ltoggle.WifiSettingButton android:textSize="12.0dip" android:gravity="bottom|center" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginBottom="20.0px" android:text="@string/ani_quickpanel_wifi_text" />
Y eliminamos la ultima parte (
android:text="@string/ani_quickpanel_wifi_text")
Justo debajo de esa linea, añadimos esta otra:
Código:
<com.fmd.str.getWifiName android:gravity="center" android:layout_gravity="center" android:paddingTop="50.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/TextAppearance.QuickSettings.Toggle" />
Y como siempre, guardamos, compilamos y listo
Saludos :^^


Hola, no Puedo Descompilar el SystemUI.apk me da Error y solo se Descompilan Algunos Archivos no Todos..!!

Ayuda!!
Responder Con Cita
  #143  
Viejo 12/04/16, 01:40:33
Array

[xs_avatar]
RoyyertJR RoyyertJR no está en línea
Usuario poco activo
 
Fecha de registro: abr 2016
Mensajes: 5
Modelo de smartphone: Huawei Y221
Tu operador: Movistar
El Proceso se Hace con el SystemUI.apk o con el Framework-res.apk??
Responder Con Cita
  #144  
Viejo 13/04/16, 01:46:58
Array

[xs_avatar]
RoyyertJR RoyyertJR no está en línea
Usuario poco activo
 
Fecha de registro: abr 2016
Mensajes: 5
Modelo de smartphone: Huawei Y221
Tu operador: Movistar
 Cita: Originalmente Escrito por RukOpethian Ver Mensaje
Una vez se han hecho todos los pasos (sin incluir las partes 2 en adelante) y haber compilado la apk, exactamente como la instalo? He probado copiando la apk que me queda en la carpeta "place-apk-here-for-modding" con el nombre de "System_SystemUi.apk" al zip deodexeado de mi ROM (Kitkat puro) e instalando directo del .zip y nada, al iniciar no se muestra las barras de notificación y navegación. Y al volverlo a hacer todo desde el principio e instalando la apk moviéndola a /system/priv-app; sale el error de SystemUi ha forzado la detención.

Cómo debo instalarla o qué debo hacer después de compilar?

El único fallo posible que pudo haber fue que no tengo la carpeta smali/mda sólo tengo smali/com/android y ahí están todos los archivos. Entonces lo que yo hice fue pegar directamente la carpeta mda en smali.

Enviado desde mi ZTE Blade Apex2 mediante Tapatalk

Tienes que Pegar la Carpeta "mda" en la Carpeta com, que quede asi: SystemUI/smali/com/android.
/mediatek (Si no sale no Importa)
/mda/Ltoggle/Archivos de la Carpeta

En la Carpeta mda estan los Toggles (Iconos de la Barra ect..) por eso no te Aparece
Responder Con Cita
  #145  
Viejo 13/04/16, 01:54:40
Array

[xs_avatar]
RukOpethian RukOpethian no está en línea
Usuario poco activo
 
Fecha de registro: oct 2014
Mensajes: 7
Modelo de smartphone: ZTE Blade Apex2
Tu operador: Movistar
 Cita: Originalmente Escrito por RoyyertJR Ver Mensaje
Tienes que Pegar la Carpeta "mda" en la Carpeta com, que quede asi: SystemUI/smali/com/android.
/mediatek (Si no sale no Importa)
/mda/Ltoggle/Archivos de la Carpeta

En la Carpeta mda estan los Toggles (Iconos de la Barra ect..) por eso no te Aparece
Sí, ya he probado mil y un veces y de varias formas pero de ninguna forma. Tengo Android Stock 4.4.2

Enviado desde mi ZTE Blade Apex2 mediante Tapatalk
Responder Con Cita
  #146  
Viejo 14/04/16, 01:13:00
Array

[xs_avatar]
RukOpethian RukOpethian no está en línea
Usuario poco activo
 
Fecha de registro: oct 2014
Mensajes: 7
Modelo de smartphone: ZTE Blade Apex2
Tu operador: Movistar
Hay alguien que le haya funcionado este método en KitKat? Qué se debe hacer para que funcione?

Enviado desde mi ZTE Blade Apex2 mediante Tapatalk
Responder Con Cita
  #147  
Viejo 16/04/16, 18:52:08
Array

[xs_avatar]
RoyyertJR RoyyertJR no está en línea
Usuario poco activo
 
Fecha de registro: abr 2016
Mensajes: 5
Modelo de smartphone: Huawei Y221
Tu operador: Movistar
Editar Paso III

Al Intentar el Paso 2 para Añadir iconos en el header me da este Error
Imágenes Adjuntas
Tipo de Archivo: jpg Sin título.jpg (80.2 KB, 78 visitas)
Responder Con Cita
  #148  
Viejo 10/05/16, 05:25:46
Array

[xs_avatar]
SEBADA321 SEBADA321 no está en línea
Usuario poco activo
 
Fecha de registro: may 2016
Mensajes: 1
Modelo de smartphone: Samsung Galaxy J2
Tu operador: Movistar
Galaxy J2

Tengo un Galaxy J2 y al decompilar el archivo SystemUI.apk parece no decompilar bien el apk. Además no se menciona cual va a ser el uso de los otros archivos (archivos tw-framework-res.apk y el archivo framework-res.apk).
Luego, al realizar la primera compilación en la parte I salen errores luego de escribir los comandos.
Espero alguien me pueda ayudar. 8)
Responder Con Cita
  #149  
Viejo 24/08/16, 01:22:39
Array

[xs_avatar]
Jooz Jooz no está en línea
Miembro del foro
 
Fecha de registro: ago 2010
Localización: Venezuela/Falcon
Mensajes: 70
Modelo de smartphone: HTC One S
Tu operador: Otra
buenas

Al compilar la primera parte me sale lo siguiente

I: Using Apktool 2.1.0
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
SystemUI/smali/com/mda/Ltoggle/WifiSettingButton$1.smali[38,4] Error for input '.parameter': Invalid directive
SystemUI/smali/com/mda/Ltoggle/WifiSettingButton$1.smali[39,4] Error for input '.parameter': Invalid directive
SystemUI/smali/com/mda/Ltoggle/WifiSettingButton$1.smali[38,15] mismatched input '"context"' expecting END_METHOD_DIRECTIVE
Exception in thread "main" brut.androlib.AndrolibException: Could not smali file: com/mda/Ltoggle/WifiSettingButton$1.smali
at brut.androlib.src.SmaliBuilder.buildFile(SmaliBuil der.java:67)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder. java:51)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder. java:38)
at brut.androlib.Androlib.buildSourcesSmali(Androlib. java:364)
at brut.androlib.Androlib.buildSources(Androlib.java: 295)
at brut.androlib.Androlib.build(Androlib.java:278)
at brut.androlib.Androlib.build(Androlib.java:254)
at brut.apktool.Main.cmdBuild(Main.java:224)
at brut.apktool.Main.main(Main.java:84)


gracias por su ayuda

Última edición por Jooz Día 27/08/16 a las 12:13:29.
Responder Con Cita
  #150  
Viejo 03/09/16, 06:01:16
Array

[xs_avatar]
Jooz Jooz no está en línea
Miembro del foro
 
Fecha de registro: ago 2010
Localización: Venezuela/Falcon
Mensajes: 70
Modelo de smartphone: HTC One S
Tu operador: Otra
he logrado hacer la primera parte pero al probarla el fondo de pantalla se vuelve negro, e decir desaparece la imagen, y la barra simplemente no aparece nada, ni señal ni reloj ni nada, solo no aparece.
Responder Con Cita
  #151  
Viejo 12/01/17, 01:21:02
Array

[xs_avatar]
Tecnicandroid Tecnicandroid no está en línea
Usuario poco activo
 
Fecha de registro: oct 2016
Localización: Honduras
Mensajes: 10
Modelo de smartphone: Samsung S3 mini ( GT-i8200L)
Tu operador: Tigo
Hola me pueden ayudar quiero saber hasta que parte del tutorial la barra de notificaciones funciona y no se queda en negro la pantalla.



Enviado desde mi BLU Studio Touch mediante Tapatalk
Responder Con Cita
  #152  
Viejo 18/01/17, 12:48:12
Array

[xs_avatar]
xXenon xXenon no está en línea
Usuario poco activo
 
Fecha de registro: ene 2017
Mensajes: 1
Modelo de smartphone: Huawei Y530
Tu operador: Movistar
Apk

Podrías dejar el apk del SystemUI terminada?
por favor D:

Responder Con Cita
  #153  
Viejo 19/01/17, 17:09:12
Array

[xs_avatar]
diazou diazou no está en línea
Usuario poco activo
 
Fecha de registro: ene 2017
Mensajes: 1
Modelo de smartphone: xiaomi
Tu operador: Movistar
Muchas Gracias, perfecto por mi Xiaomi!
https://www.chaisegamer.pro

Última edición por diazou Día 01/02/19 a las 10:31:12.
Responder Con Cita
  #154  
Viejo 13/03/17, 21:51:30
Array

[xs_avatar]
hinfante hinfante no está en línea
Usuario poco activo
 
Fecha de registro: mar 2016
Mensajes: 7
Tu operador: Movistar

hola quien me puede modificar el systemui.apk de mi telefono (el systemui tambien tiene un archivo systemui.odex) tengo kitkat 4.4.2 solo quiero cambiar el color de la señal que e intentado con gravytibox y otros modulos de xposed y no se cambia. alguien que me pueda ayudar digame que necesita de la rom y se lo paso
Responder Con Cita
  #155  
Viejo 21/06/18, 19:26:51
Array

[xs_avatar]
R0rt1z2 R0rt1z2 no está en línea
Usuario muy activo
 
Fecha de registro: feb 2018
Localización: Barcelona
Mensajes: 1,825
Modelo de smartphone: iPhone 13 Pro Max
Tu operador: O2
Bueno, os comento.
He segudio el tutorial y lo he intentado realizar con un systemui de una rom stock android 4.4.2
El problema es el siguiente...
Descompilo, todo perfecto hago los pasos hasta qu ellego a la parte de añadir las carpetas correspondientes. Las añadó todas, y luego como dice el tuto compilo.
Cuando intento compilar me salen mil errores diciendo no se qué de smalis,etc etc.
He probado las versiones de apktool 2.0 y 1.5.2.
La 2.0 ni descompila pero la 1.5.2 descompila pero no vuelve a compilar.
Alguien me podria ayudar
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > La Cocina de ROMs > Tutoriales



Hora actual: 05:36:20 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /