crashOnEmulator function

Future<void> crashOnEmulator(
  1. FutureOr<void> builder(), {
  2. FutureOr<void> onEmulatorDetected()?,
})

This will kill your app when the device is an emulator.

call this method in main method of your app.

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  crashOnEmulator(
    () async {
      runApp(MyApp());
    },
  );
}

Implementation

Future<void> crashOnEmulator(
  FutureOr<void> Function() builder, {
  FutureOr<void> Function()? onEmulatorDetected,
}) async {
  bool isSimulator = await NativeCrash.checkEmulator();
  if (isSimulator && kReleaseMode) {
    if (onEmulatorDetected != null) {
      return onEmulatorDetected();
    } else {
      await NativeCrash.crash('You are running you app on Simulator/Emulator.');
      return;
    }
  }
  return builder();
}