Android Question having hard time to block emulators


Well-Known Member
Licensed User
in my application i needed this app to be installed on real device only . sense my app is used by none specific users and i have to get control over the usage of it.

my app uses The phone serial "IME" to validate the unique use of each user .

on emulators this can easily changed i know that this can be changed on a real rooted device as well

but right now its the emulators that i should prevent first

i have tried many ways one of them was here

but this is not effective sense emulators are very similar to real device and not all informations can be same sense it can be changed

i see some apps prevented and detected any emulators and prevent users from using the app under emulator environment

i am just asking did any one find any effective solution for the emulator usage in the forum ?


Licensed User
My two thoughts are both based on, what's different in an emulator compared to a real device?

First is speed. Admittedly, an efficient emulator on a fast computer, or one where the VM is run directly by the host CPU rather than by the emulated CPU, can be pretty close in speed to an actual device nowadays, but... it can be one test of several, to indicate that things "don't look right". Perhaps measure how many times it can repeatedly sum odd integers from -10001 to 10001 until say 200 milliseconds have passed. Too slow = no go ;-)

Second is movement of the device. You mention IMEI, so that makes me think that it is supposed to be running on a phone, presumably hand-held. Perhaps look at the accelerometer readings, make sure that they vary a bit over time. Ditto with the GPS, if it is running - an emulator will likely give you an unrealistically-still reading, whereas the readings of a stationary GPS still typically wander +/- a few metres.

What else would change in a phone, but not in an emulator? A count of calls or texts? Access to the internet? Perhaps check or some other guaranteed-to-change page.
Upvote 0