Galaxy S 3 (I9300) Compass Calibration

The compass sensor is calculated from both the accelerometer and magnetic field sensors, which needs calibration to be accurate.
If the values reported by the compass sensor are not right, you can recalibrate the magnetic field sensor with the following steps:

  1. adb shell stop zygote
  2. adb shell rm /data/misc/akfs.txt
  3. adb shell start zygote

Then start an application using the compass sensor and move the device in every direction, with a rotation around each axis: the device should now be calibrated.