I don't want to allow my users to run my app on an emulator.
I have succeeded detecting any other emulator, except Nox app player.
Check my solutions here: How can I detect when an Android application is running in the emulator?
Nox emulator has same device data as an actual phone, they even simulate deviceId (IMEI number, it is not 000000000000
and nut null), and network operator name. Looks like every time I launch the Nox app player, it randomizes all the Build.PRODUCT
and similar fields.
Although there is a pattern, some of the fields have incompatible names, like the manufacturer is sony, but device model is HTC...