HideMyAndroid Realistic Sensor Data: Accelerometer and Gyroscope Test

What a sensor test app sees from the accelerometer and gyroscope on an Android 16 emulator with HideMyAndroid's Realistic Sensor Data off and on, with numbers.

Last updated: September 11, 2026

What Realistic Sensor Data does

With Realistic Sensor Data on, a HideMyAndroid profile replaces the frozen accelerometer and gyroscope readings of an idle device with a moving, hand-held pattern. Switch it off and apps in that profile see the raw hardware again.

It is a Premium option on each profile: a Realistic Sensor switch with Accelerometer and Gyroscope checkboxes that appear once the switch is on; app 1.6.4 adds a third, Light sensor, tested separately. The module does not touch the hardware or its description; it rewrites the values inside every sensor event the hooked app receives, using one motion model for both sensors.

Key facts

  • Realistic Sensor Data is a Premium, per-profile option with separate Accelerometer, Gyroscope and, since app 1.6.4, Light sensor checkboxes.
  • This test covers the accelerometer and gyroscope, uncalibrated variants included; other sensors pass through unchanged.
  • Sensor names, vendors, ranges, resolutions, and the sensor count stay as the hardware reports them.
  • One motion model drives both sensors, so movement reaches the accelerometer and gyroscope together.
  • The options can be set from ADB through the Headless API’s profile.update hookFlags parameter.
  • It applies to the profile’s target apps, and only after the app is restarted.

How we tested it

We ran Sensor Test (ru.andr7e.sensortest 1.6.9) on an Android emulator: Google APIs image sdk_gphone64_arm64, Android 16 / API 36, rooted with Magisk plus an Xposed framework that loads HideMyAndroid 1.6.3 into Sensor Test, on a Premium license. One profile had Sensor Test as its only target app, with the switch and both checkboxes on.

We captured four states, force-stopping Sensor Test before every capture, because the module decides once per app launch whether to hook that process:

  1. No profile active.
  2. Profile active, Realistic Sensor Data off.
  3. Profile active, Realistic Sensor Data on.
  4. Profile deactivated again.

Every number below comes from a screenshot, eight per state (six for state 4), about 0.7 seconds apart.

Accelerometer: before and after

With no profile active, the emulator reports X 0.0, Y 9.8, Z 0.8 m/s² on every sample: gravity on the Y axis of an upright phone that never moves, which is how an emulator, or a phone bolted to a rack, looks to an app.

Sensor Test accelerometer screen on the emulator: Profile off: X 0.0, Y 9.8, Z 0.8 on every sample
Profile off: X 0.0, Y 9.8, Z 0.8 on every sample
Sensor Test accelerometer screen on the emulator: Profile on with Realistic Sensor Data: values move on every sample
Profile on with Realistic Sensor Data: values move on every sample

With the profile active and Realistic Sensor Data on, the readings change on every sample. Gravity sits on the Z axis, about 9.5 m/s², as on a phone lying face up, while all three axes keep drifting:

AxisProfile offProfile on: min / max / mean
Xalways 0.0-1.0 / 0.7 / -0.05
Yalways 9.8-1.8 / 0.9 / -0.05
Zalways 0.88.8 / 10.1 / 9.4

The ball in the Sensor Test game only moves in state 3. State 2, profile active but feature off, read exactly like state 1, and state 4 went back to frozen values, so the change comes from this feature alone.

Gyroscope: before and after

An idle emulator gyroscope reports 0.00 rad/s on all three axes forever. A phone in a hand never does; even a steady grip produces small rotations.

Sensor Test gyroscope screen on the emulator: Profile off: x, y, z all 0.00 on every sample
Profile off: x, y, z all 0.00 on every sample
Sensor Test gyroscope screen on the emulator: Profile on with Realistic Sensor Data: small, changing rotations
Profile on with Realistic Sensor Data: small, changing rotations

With Realistic Sensor Data on, the gyroscope reports small angular velocities that change every sample and follow the accelerometer:

AxisProfile offProfile on: min / max / mean
xalways 0.00-0.21 / 0.20 / -0.005
yalways 0.00-0.51 / 0.16 / -0.044
zalways 0.00-0.02 / 0.21 / 0.073

A jolt shows up in both sensors in the same instant, as it does in a real hand.

What does not change

The Sensor Test info screen is identical in every state: the accelerometer is still “Goldfish 3-axis Accelerometer” by “The Android Open Source Project”, and the app still counts 17 sensors. HideMyAndroid rewrites the stream of values, not the hardware description. On a real phone the name is already genuine, so this only matters on an emulator; reporting another phone model is the job of Device Simulation, a separate protection layer.

Sensor Test accelerometer info screen on the emulator: Profile off: Goldfish 3-axis Accelerometer
Profile off: Goldfish 3-axis Accelerometer
Sensor Test accelerometer info screen on the emulator: Profile on: same name, vendor, range, and resolution
Profile on: same name, vendor, range, and resolution

The simulation covers the Java sensor API that nearly all apps use; native-code reads and one-shot trigger sensors are not.

How to turn it on

In the New Profile or Edit Profile screen, find Realistic Sensor in the Premium section, turn on the switch, then tick Accelerometer, Gyroscope, or both (app 1.6.4 adds Light sensor). Save, activate the profile, and relaunch the target app; a running app keeps its old sensor behavior until restarted. Accelerometer dates from app 1.2.6; Gyroscope needs 1.6.3 or newer.

From ADB, the Headless API sets the same options through the hookFlags parameter of profile.update, with the keys hook_realistic_sensor, hook_sensor_accelerometer, hook_sensor_gyroscope and, from 1.6.4, hook_sensor_light. JSON cannot travel through a content call, so use the broadcast form. It replaces the whole flag map, and an omitted key counts as on, so read the current flags with profile.get and send the full set back:

adb shell am broadcast -a com.wowsoftware.hidemyandroid.HEADLESS_UPDATE -p com.wowsoftware.hidemyandroid -e token <your_access_token> -e id <profile_id> -e hookFlags '{"hook_realistic_sensor":true,"hook_sensor_accelerometer":true,"hook_sensor_gyroscope":true,"hook_sensor_light":true,...}'

What it does not promise

No tool can guarantee zero detection forever. Realistic Sensor Data removes one obvious tell, motion sensors that never move, and keeps the two sensors consistent; it does not rename an emulator’s sensors, and platforms keep changing their checks. Under the Terms of Service, you remain responsible for following the laws and platform rules that apply to you.

Next steps

Download