Ver Mensaje Individual
  #1  
Viejo 20/02/12, 11:12:53
Array

[xs_avatar]
McGiverGim McGiverGim no está en línea
Usuario muy activo
· Votos compra/venta: (5)
 
Fecha de registro: oct 2008
Localización: Valladolid
Mensajes: 1,671
Modelo de smartphone: Google Pixel 7
Tu operador: DigiMobil
noticia Quitar R de roaming en operadores móviles virtuales

Introducción:

En la mayoría de móviles android, los operadores móviles virtuales (Simyo, Yoigo, Pepephone, etc.) se detectan como roaming, apareciendo una R junto a las barras de cobertura. Esto no sería más que un problema "estético", pero el mayor inconveniente es que hay que habilitar la opción de "permitir datos en roaming" para poder tener acceso a los datos de internet móvil.

Si nos movemos por la frontera, o viajamos al extranjero y conseguimos cobertura real de roaming, esto provocará que nos conectemos a la red de datos del operador extranejero en roaming real, con el consiguiente susto en la factura...

En algunos móviles, hay opciones para evitar esto. Por ejemplo, Samsung tiene su sistema http://www.htcmania.com/showthread.php?t=196588 pero en la mayoría de fabricantes no funciona, por muchas pruebas que se hicieron http://www.htcmania.com/showthread.php?t=206719.

A partir de un mensaje de Modaco, y gracias al forero leromarinvit, parece que se ha conseguido: http://android.modaco.com/topic/3422...al-mvno-patch

No intentes nada si no estás seguro de lo que haces, ya que puedes hacer que el móvil no arranque y tener que flashear de nuevo... no me hago responsable de los posibles problemas.

Vamos al grano:

Estos son los pasos para hacer que no se detecte el roaming nacional (operadores virtuales) como roaming.

1. Necesitas un móvil con root
2. Haz un backup con CWM, por lo que pueda pasar...
3. Coje el archivo /system/framework/framework.jar del móvil y pásalo a tu ordenador
4. Saca del archivo framework.jar (con winrar, por ejemplo) el archivo classes.dex
5. Descarga de internet la última versión de los archivos baksmali y smali, en mi caso han sido baksmali-1.3.2.jar y smali-1.3.2.jar (http://code.google.com/p/smali/downloads/list) y ponlos en la misma carpeta que el classes.dex
6. Abre un intérprete de comandos en la misma carpeta donde tengas todo lo anterior y teclea:
Código:
java –jar baksmali-1.3.2.jar –o out classes.dex
esto te creará una carpeta "out" con el contenido del classes "decompilado".
7. Edita con Notepad++ o algún editor similar el archivo out\com\android\internal\telephony\gsm\GSMServiceS tateTracker.smali
8. Esta parte depende de cada fabricante/versión de Android, así que si no lo encontráis puede que halla cambiado. Por lo menos para el Optimus 2x, v20o o v20q hay que buscar las líneas:

Código:
if-eqz p1, :cond_59b
 
if-eqz v8, :cond_25e
 
if-eqz v9, :cond_25e
 
if-nez v10, :cond_59b
 
if-nez v11, :cond_59b
 
:cond_25e
if-nez v16, :cond_59b
y cambiar este código por:

Código:
if-eqz p1, :cond_59b
 
if-eqz v8, :cond_25e
 
goto :cond_59b
 
:cond_25e
if-nez v16, :cond_59b
9. Vuelve a generar un archivo newclasses.dex con las modificaciones hechas, lo puedes hacer con el comando:
Código:
java -Xmx512M -jar smali-1.3.2.jar out/ -o newclasses.dex
10. Renombra el archivo newclasses.dex por classes.dex y sustituye (con winrar por ejemplo) el que hay dentro del archivo framework.jar
11. Reemplaza el archivo framework.jar de tu móvil con el modificado.
12. ¡¡Listo!!

Otra opción:

He creado unos archivos para ejecutar desde CWM que sustituyen el archivo framework.jar, con lo cual os ahorráis todos los pasos anteriores. Así tengo dos, uno con el framework.jar modificado y otro con el original (por si algo sale mal poder volver atrás fácilmente).

Cada versión de ROM tiene el suyo propio ya que los archivos son ligeramente distintos.

Versión v20o: (sin probar, cuidado)

Archivo para quitar la R de roaming en v20o: http://www.box.com/s/jtclhv8gjhfcddzzc391

Archivo para dejar el framework.jar original (por si algo no funciona bien): http://www.box.com/s/s18qsbcjqogxyjtna65i

Versión v20q:

Archivo para quitar la R de roaming en v20q: http://www.box.com/s/h0z8pq6rreo0lln3haic

Archivo para dejar el framework.jar original (por si algo no funciona bien): http://www.box.com/s/xfeka67q1putre8vjuto

Versión v20s:

Archivo para quitar la R de roaming en v20s: https://www.box.com/s/c1154ef72d1cf82e4523

Archivo para dejar el framework.jar original (por si algo no funciona bien): https://www.box.com/s/6c802cb185950f08fe15

Si hay mucho interés podría hacer alguno para alguna otra versión.

Última edición por McGiverGim Día 10/06/12 a las 10:24:01. Razón: Añadida versión v20s
Responder Con Cita
Los siguientes 8 usuarios han agradecido a McGiverGim su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]