TUTORIAL Posible solucion definitiva al fallo de velocidad en los GPS

Shawhifox

Simdualero de Oro
Mensajes
111
Puntos
658
Hola,

Como sabéis, algunos dual sim con Android fallan a la hora de calcular la velocidad, duplicándola. Al parecer, se trata de un problema de software por el cual Android interpreta la velocidad en nudos.

Creo que he encontrado la solución en un foro, hay que editar unos archivos mediante un procedimiento un poco complicado de explicar, hay que extraer un archivo dentro del fichero framework.jar que se encuentra en /system/framework, luego pasar usando un programa llamado smali para pasarlo a código fuente y cambiar unas líneas de código.

He probado los cambios en mi A5000 y ha funcionado, ya no dobla la velocidad. Aquí os dejo el archivo framework.jar ya arreglado para el A5000, no sé si será compatible con otros modelos, por si acaso yo arreglaría el framework de cada modelo y haría una lista para evitar posibles problemas. Para ello necesito que me paséis el archivo framework.jar (no confundir con framework-res) que debe estar en el sitio /system/framework.

Fix para el A5000:
https://www.movilesdualsim.com/




Saludos! :wink:
 
Última edición por un moderador:
Así cuales ya tienen solución?¿?

Puedes colgar el Archivo y decir de que móvil es? así los demás podrán arreglarlo!!!

:blush:

De momento sólo el A5000 y se supone que todos los que tengan Android deodexed. Intentaré pedir ayuda en algún foro en inglés a ver como se puede meter mano a estos.

El framework.jar y odex que me ha pasado Jofralao:
http://www.mediafire.com/?4vf28m5oklgvuvx


He pillado el framework.jar de mi Star A1000 4.3" ¿como te lo paso para  que me lo arregles?. Cuando tengas varios puedes ir haciendo una lista  con ellos y corgarla para que se los vallan descargando.
Saludos.:tonguewink:acman:

Súbelo y mándame un mensaje privado con el link para descargarlo ^^
 
Hola Shawhifox , despues de hacer todo lo que pone en las instrucciones , he reiniciado el A5000 y se queda en la pantalla de ANDROID.
En las instrucciones pones que tardara en arrancar la primera vez , ¿Pero cuanto? yo despues de 1/2 hora le he quitado la bateria lo he vuelto a iniciar y se queda igual , con la pantalla de ANDROID. Dime que puedo hacer.

Saludos Ximo
 
Vamos por el principio, no tengo ni idea de android:wink:

Pero lo logico en los moviles chinos es que ninguno sea igual aunque se llamen igual.

Lo primero y primordial sera el modelo y su firmware(no se si decirte que tambien depende lo que tu instales), para poder poner un framework a un movil.

Lo ideal es decir como lo has hecho y que Herramientas has usado, asi cada uno modificaria su Framework.

https://www.movilesdualsim.com/tema...informacion.4077?p=36179&viewfull=1#post36179

Explicacion de como hacerlo.

I was able to fix the GPS speed bug. All I had to to was to patch my framework.jar so that getSpeed function (belongs to Android location.manager) could return the correct value. That function, according to Google sources, should return the ground speed in m/s and it was returning the speed in knots (almost twice the speed).

The needed actions in order to patch framework are:

* Pull framework.jar from the phone
* Extract classes.dex from framework.jar (command: unzip framework.jar classes.dex)
* Unpack classes.dex with baksmali (command: java -jar baksmali-1.2.6.jar -o classes classes.dex)
* Remove bad classes.dex (not needed anymore)
* Edit file Location.smali under classes\android\location and replace getSpeed function from:
Codigo a insertar.
Código:
.method public getSpeed()F
        .registers 2

        .prologue
        .line 591
        iget v0, p0, Landroid/location/Location;->mSpeed:F

        return v0
    .end method


    into:


    .method public getSpeed()F
        .registers 6
.prologue
        const v1, 0x3F03B2A1

        .line 591
        iget v0, p0, Landroid/location/Location;->mSpeed:F

        mul-float v2, v0, v1 
        return v2
    .end method
Siguen las instucciones de como cerrar el archivo.
* Repack classes.dex using smali (command: java -Xmx512M -jar smali-1.2.6.jar classes -o classes.dex)
* Add newly patched classes.dex into original framework.jar (command: zip -1 framework.jar classes.dex)
* Push newly patch framework.jar into the phone

Short explanation: speed was wrongly being acquired in knots (it should be in m/s). The code is writen in Dalvik bytecode and basically a register is set with the float 0,5144444 (1 knot in m/s), multiplied by the speed passed from the GPS driver and returned "corrected".

Imagino que debemos tener linux en un PC para editar el classes.dex.


saludos y paz.
 
Última edición por un moderador:
Ximo, hoy he realizado el cambio del archivo de mi A5000, al principo me asuste ya que el movil quedaba en la pantalla de Android, pero despues de 5 minutos aprox, inicio normalmente, seguro que realizaste todos los pasos correctos.
 
Si , creo que lo hize bien , es bastante sencillo. Estubo mas de 1/2 hora con la pantalla de ANDROID y lo reinicie varias veces , al final tube que flasearlo con la rom de jciral y lo he vuelto a revivir. Cuando tenga un rato lo volvere a intentar , sabiendo que lo puedo recuperar.
EDRP , dime si te ha solucionado el problema de la velocidad ?

Saludos Ximo.
 
Hola Shawhifox , despues de hacer todo lo que pone en las instrucciones , he reiniciado el A5000 y se queda en la pantalla de ANDROID.
En las instrucciones pones que tardara en arrancar la primera vez , ¿Pero cuanto? yo despues de 1/2 hora le he quitado la bateria lo he vuelto a iniciar y se queda igual , con la pantalla de ANDROID. Dime que puedo hacer.

Saludos Ximo

¿Cambiastes los permisos? Es raro.:dizzy:

Imagino que debemos tener linux en un PC para editar el classes.dex.

No, basta con windows desde la shell (símbolo de sistema).

@pauete me ha pasado el framework del A3, y al igual que el del FG8 es odex, lo que significa que de momento no puedo hacer nada con el.

Aquí dejo el framework del A1000 que me ha pasado @betelchus con el fix aplicado, cuando alguien compruebe que funciona lo pondré en el primer post y en la sección de descargas :blush:

Enlace de Megaupload eliminado. Por favor, consulta con la persona que ha subido el mensaje por si puede volver a compartirlo.
 
Última edición por un moderador:
Buenas, no me permite pegar el archivo qu me pasate (fix) en la carpeta framework de system. Como tendria que hacerlo a ver si no lo hago bien. Los permisos no hay que tocarle nada no? solo pegar el que tu me pusiste? En rootexplorer le pique la ventanita de arriba para que me deje manejar y no diga solo lectura (“Mount R/O”)
 

Del blog

¿Ha terminado la locura de añadir tantas cámaras a los móviles?

  • Si

  • No

  • No lo se

  • Ya me gustaría...

  • Ya te gustaría...


Los resultados solo son visibles tras votar.
Atrás
Arriba