Tutoriales "Android Libre" Tutoriales "Android Libre"

Respuesta
 
Herramientas
  #1  
Viejo 04/10/13, 11:03:11
Array

[xs_avatar]
rockernaxo rockernaxo no está en línea
Cocinero retirado
 
Fecha de registro: jul 2011
Localización: Pamplona
Mensajes: 2,128
Modelo de smartphone: GT-5830 ## LT-26i ## Mi3W
Tu operador: Movistar
Despertar el móvil con los botones de volumen

¿Qué vamos a necesitar?
APKTool/Smali yBaksmali
Notepad++
Dispositivo rooteado
ADB
Sentido común

Archivos a modificar:
Android.policy.jar


Pasos a seguir
1. Extraemos el archivo android.policy.jar de la carpeta system/framework en nuestro dispositivo. Podemos hacerlo mediante Root Explorer (o cualquier explorador de archivos root) o con ADB.

2. Vamos a decompilar el archivo. Para ello ejecutamos uno de estos dos comandos, según usemos apktool ó baksmali.
Código:
apktool d android.policy.jar nombrecarpetadestino
java -jar baksmali.jar android.policy.jar nombrecarpetadestino
3. Entramos en la carpeta decompilada, buscamos y abrimos con Notepad++ KeyguardViewMediator.smali. Lo encontraremos en nombrecarpetadestino\smali\com\android\internal\policy\impl\

4. Pulsamos Ctrl+F para buscar "0x18" (sin las comillas). Deberíamos ver el siguiente código (puede variar según el dispositivo):
Código:
.sparse-switch
        0x18 -> :sswitch_0
        0x19 -> :sswitch_0
        0x1b -> :sswitch_1
        0x4f -> :sswitch_1
        0x55 -> :sswitch_1
        0x56 -> :sswitch_1
        0x57 -> :sswitch_1
        0x58 -> :sswitch_1
        0x59 -> :sswitch_1
        0x5a -> :sswitch_1
        0x5b -> :sswitch_1
        0x7e -> :sswitch_1
        0x7f -> :sswitch_1
        0x82 -> :sswitch_1
        0xa4 -> :sswitch_0
    .end sparse-switch

5. Solamente tenemos que borrar las entradas que corresponden al 0x18 y 0x19, con lo que nos quedará:
Código:
.sparse-switch
        0x1b -> :sswitch_1
        0x4f -> :sswitch_1
        0x55 -> :sswitch_1
        0x56 -> :sswitch_1
        0x57 -> :sswitch_1
        0x58 -> :sswitch_1
        0x59 -> :sswitch_1
        0x5a -> :sswitch_1
        0x5b -> :sswitch_1
        0x7e -> :sswitch_1
        0x7f -> :sswitch_1
        0x82 -> :sswitch_1
        0xa4 -> :sswitch_0
    .end sparse-switch
6. Recompilamos android.policy.jar
Código:
apktool b nombrecarpetadestino
java -jar smali.jar nombrecarpetadestino
Como resultado tendremos un archivo out.dex que tenemos que renombrar a classes.dex.
Abrimos el archivo android.policy.jar original con 7zip/Winrar/WinZip y arrastramos el nuevo classes.dex dentro para sustituir al existente.

Volvemos a meter el archivo en el dispositivo /system/framework con permisos 644. Mirad los permisos que tienen el resto de archivos y le dais los mismos.

Si hay alguna parte que no se entiende comentadlo. Espero haberme explicado bien
__________________
Responder Con Cita
Los siguientes 2 usuarios han agradecido a rockernaxo su comentario:


  #2  
Viejo 09/01/14, 18:02:45
Array

[xs_avatar]
pc07 pc07 no está en línea
Usuario muy activo
· Votos compra/venta: (4)
 
Fecha de registro: ago 2008
Localización: Oviedo
Mensajes: 684
Modelo de smartphone: Google Pixel 6a
Tu operador: DigiMobil
Estaba siguiendo tu manual junto con este de XDA para intentar despertar mi Sensation con las teclas de volumen.
Tengo [4.4.2][UNOFFICIAL]CarbonRom for Sensation y por lo que se ve en esta versión de android el archivo KeyguardViewMediator.smali no está.
Haciendo una búsqueda del texto 0x18 en todos los archivos del classes.dex encontré la cadena "0x18 -> :sswitch_f" en el archivo PhoneFallbackEventHandler.smali. Borré los dos que indicas, el 18 y 19 y lo volví a preparar todo para subir al movil. Nada, da error según enciende el teléfono y tuve que restaurar sistema, del error no pasaba. A ver si alguien encuentra alguna solución para Kit Kat.
Responder Con Cita
  #3  
Viejo 09/01/14, 18:29:15
Array

[xs_avatar]
rockernaxo rockernaxo no está en línea
Cocinero retirado
 
Fecha de registro: jul 2011
Localización: Pamplona
Mensajes: 2,128
Modelo de smartphone: GT-5830 ## LT-26i ## Mi3W
Tu operador: Movistar
 Cita: Originalmente Escrito por pc07 Ver Mensaje
Estaba siguiendo tu manual junto con este de XDA para intentar despertar mi Sensation con las teclas de volumen.
Tengo [4.4.2][UNOFFICIAL]CarbonRom for Sensation y por lo que se ve en esta versión de android el archivo KeyguardViewMediator.smali no está.
Haciendo una búsqueda del texto 0x18 en todos los archivos del classes.dex encontré la cadena "0x18 -> :sswitch_f" en el archivo PhoneFallbackEventHandler.smali. Borré los dos que indicas, el 18 y 19 y lo volví a preparar todo para subir al movil. Nada, da error según enciende el teléfono y tuve que restaurar sistema, del error no pasaba. A ver si alguien encuentra alguna solución para Kit Kat.
¿El archivo tenía la firma correcta?

En KK han cambiado muchas cosas.
__________________
Responder Con Cita
  #4  
Viejo 09/01/14, 18:38:17
Array

[xs_avatar]
pc07 pc07 no está en línea
Usuario muy activo
· Votos compra/venta: (4)
 
Fecha de registro: ago 2008
Localización: Oviedo
Mensajes: 684
Modelo de smartphone: Google Pixel 6a
Tu operador: DigiMobil
 Cita: Originalmente Escrito por rockernaxo Ver Mensaje
¿El archivo tenía la firma correcta?

En KK han cambiado muchas cosas.
Me pierdo, no sé nada de la firma.

En cualquier caso me di cuenta que esta ROM lleva el kernel SULTAN así que tiene el sweep2wake, encontré una aplicación en el play para activarlo y ya puedo encender el móvil sin pulsar el botón de encendido. Aún así seguiré pendiente del tema por si sale solución.

Gracias.
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > La Cocina de ROMs > Cocina para Android > DarkSideTeam - Proyecto Android Libre > Tutoriales "Android Libre"



Hora actual: 20:56:47 (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 / 邮件联系 /