// reference: Anti-Emulator + https://github.com/flutter/plugins/blob/master/packages/device_info/android/src/main/java/io/flutter/plugins/deviceinfo/MethodCallHandlerImpl.java#L97 public bool?IsRunningOnVirtualDevice() { return(FindEmulator.HasEmulatorBuild(Application.Context) || FindEmulator.HasPipes || FindEmulator.HasQEmuDrivers || FindEmulator.HasEmulatorAdb || FindEmulator.HasQEmuFiles || FindEmulator.HasGenyFiles || (Build.Brand.StartsWith("generic") && Build.Device.StartsWith("generic")) || Build.Fingerprint.StartsWith("generic") || Build.Fingerprint.StartsWith("unknown") || Build.Hardware.Contains("goldfish") || Build.Hardware.Contains("ranchu") || Build.Model.Contains("google_sdk") || Build.Model.Contains("Emulator") || Build.Model.Contains("Android SDK built for x86") || Build.Manufacturer.Contains("Genymotion") || Build.Product.Contains("sdk_google") || Build.Product.Contains("google_sdk") || Build.Product.Contains("sdk") || Build.Product.Contains("sdk_x86") || Build.Product.Contains("vbox86p") || Build.Product.Contains("emulator") || Build.Product.Contains("simulator")); }
public bool IsQEmuEnvDetected() { Log("Checking for QEmu env..."); Log("hasKnownDeviceId : " + FindEmulator.HasKnownDeviceId(this)); Log("hasKnownPhoneNumber : " + FindEmulator.HasKnownPhoneNumber(this)); Log("isOperatorNameAndroid : " + FindEmulator.IsOperatorNameAndroid(this)); Log("hasKnownImsi : " + FindEmulator.HasKnownImsi(this)); Log("hasEmulatorBuild : " + FindEmulator.HasEmulatorBuild(this)); Log("hasPipes : " + FindEmulator.HasPipes); Log("hasQEmuDriver : " + FindEmulator.HasQEmuDrivers); Log("hasQEmuFiles : " + FindEmulator.HasQEmuFiles); Log("hasGenyFiles : " + FindEmulator.HasGenyFiles); Log("hasEmulatorAdb :" + FindEmulator.HasEmulatorAdb); foreach (string abi in Build.SupportedAbis) { if (abi.Equals("armeabi-v7a", StringComparison.InvariantCultureIgnoreCase)) { Log("hitsQemuBreakpoint : " + FindEmulator.CheckQemuBreakpoint()); } } if (FindEmulator.HasKnownDeviceId(this) || FindEmulator.HasKnownImsi(this) || FindEmulator.HasEmulatorBuild(this) || FindEmulator.HasKnownPhoneNumber(this) || FindEmulator.HasPipes || FindEmulator.HasQEmuDrivers || FindEmulator.HasEmulatorAdb || FindEmulator.HasQEmuFiles || FindEmulator.HasGenyFiles) { Log("QEmu environment detected."); return(true); } else { Log("QEmu environment not detected."); return(false); } }