|
LG Optimus 2X Para hablar del nuevo Optimus 2X de LG |
|
Herramientas |
#1
|
||||
|
||||
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 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 Código:
if-eqz p1, :cond_59b if-eqz v8, :cond_25e goto :cond_59b :cond_25e if-nez v16, :cond_59b Código:
java -Xmx512M -jar smali-1.3.2.jar out/ -o newclasses.dex 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 |
Los siguientes 8 usuarios han agradecido a McGiverGim su comentario: | ||
|
#2
|
||||
|
||||
Gracias compañero, a ver si un día tengo tiempo y lo pruebo con la CM7
|
#5
|
||||
|
||||
Si, tendré que ver si tiene esas líneas el classes.dex supongo. Si lo consigo te paso el framework.jar para que lo pongas en el post. A ver si tengo tiempo un día de esta semana.
|
#6
|
||||
|
||||
No me lo puedo creer!!!! Por fin borré la dichosa R de Itinerancia. Tengo Simyo como operadora NACIONAL en mi ZTE Blade
Muchísimas gracias por encontrar y compartir la solución |
#7
|
||||
|
||||
De nada hombre, sólo por confirmar... ¿las líneas que tuviste que modificar son las mismas que he puesto (para el O2x) o las que vienen en el post original que enlacé al principio?
Un saludo! |
#8
|
||||
|
||||
Son las del post original que enlazaste al principio. La duda que me surge es si me voy al extranjero las redes del país me las detectará como nacionales (sin activar la itinerancia de datos) con el riesgo de conectarme accidentalmente a internet.
Saludos McGiverGim! |
#9
|
||||
|
||||
Pues te lo confirmaré en unos días... el día 16 me voy al extranjero una semana... a ver que pasa
Saludos! |
Gracias de parte de: | ||
#10
|
||||
|
||||
Yo tengo eroski movil, y con las últimas CM7 si vas a configuracion de red movil, hay una opción que pone "Datos en itinerancia nacional" si la activas, desaparece la R. Esto ya se discutía en XDA hace unos meses.
Última edición por ethansp Día 05/03/12 a las 23:56:06. |
#11
|
||||
|
||||
Es cierto que las últimas CM7 ya incorporaran la opción de validar la operadora OMV y no depender de activar la itinerancia de datos. Pero es que en mi ZTE Blade no terminan de ir esas ROMs muy fluidas y esta solución me vino de muy bien porque era un problema que nos traía de cabeza a varias personas en el foro.
|
#12
|
||||
|
||||
Hola. He estado una semana en el extranjero y puedo confirmar que el Roaming real se sigue detectando como Roaming, con lo cual podemos dar por válida la solución.
Un saludo! |
Gracias de parte de: | ||
#13
|
||||
|
||||
Hola, a mi cuando ejecuto la linea de java en cmd.exe me sale:
D:\r>java -jar baksmali-1.3.2.jar -o out classes.dex Exception in thread "main" java.lang.NoClassDefFoundError: ûjar Caused by: java.lang.ClassNotFoundException: ûjar at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) Could not find the main class: ÔÇôjar. Program will exit. D:\r> Alguna idea? |
#14
|
||||
|
||||
Puedo equivocarme, pero... ¿has hecho un copy&paste del comando o lo has tecleado? Prueba de los dos modos, es como si el símbolo - delante de -jar no lo estuviera cogiendo bien...
|
#15
|
||||
|
||||
copypaste, soy muy vago
ya funciona, muchas gracias! |
#17
|
||||
|
||||
Bueno parece que mi movil tiene otros archivos (un alcatel 818D, android 2.3.5) no tengo out\android\internal\ o sea que no tengo out\android\internal\telephony\gsm\GSMServiceState Tracker.smali
Lo unico parecido que tengo es out\com\android\internal\telephony\ServiceStateTra cker.smali de 21 KB |
#18
|
||||
|
||||
Hola. Puedes probar a poner un mensaje en el foro de modaco, enlazado al principio, ya que el "profesional" es el usuario de ese foro y el que me indicó que debía modificar... yo no te puedo ayudar más, lo siento. Como mucho, sube tu framework.jar a algún lado para que yo lo intente, pero si lo has hecho bien voy a llegar al mismo sitio...
|
#19
|
||||
|
||||
Si, porque hay que saber programacion para estos menesteres. Lo mismo mi movil dual sim tiene otra estructura. Gracias por la ayuda
|
|
#20
|
||||
|
||||
Hola! tengo un sony ericsson xperia arc S 4.0 y lo he rooteado expresamente para quitar la R (soy simyo)... pero no consigo hacerlo siguiendo estos pasos (no tengo mucha idea de programación y eso) dejo mi archivo framework a ver si alguien mas habilidoso lo consigue. Muchas gracias!!
|
Estás aquí | ||||||
|