---
title: "Native Initialization"
description: "Learn how to manually initialize the native SDKs."
url: https://docs.sentry.io/platforms/dart/guides/flutter/native-init/
---

# Native Initialization for Flutter

By default, the Flutter SDK initializes the native SDK underneath the `init` method called on the Flutter layer. As a result, the SDK currently has a limitation of not capturing native crashes that occur prior to the `init` method being called on the Flutter layer. You can initialize the native SDKs yourself to overcome this limitation or if you want to provide custom options above what the Flutter SDK currently provides.

To do this, set [autoInitializeNativeSdk](https://docs.sentry.io/platforms/dart/guides/flutter/configuration/options.md#autoInitializeNativeSdk) to `false` in the init options:

```dart
await SentryFlutter.init((options) {
  options.autoInitializeNativeSdk = false;
}, appRunner: () => runApp(SentryWidget(child: const MyApp())));
```

This will prevent the Flutter SDK from initializing the native SDKs automatically.

Next, initialize the native SDKs as specified in the guides below.

* [Android](https://docs.sentry.io/platforms/android/manual-setup.md#configuration-via-sentryoptions)
* [iOS](https://docs.sentry.io/platforms/apple/guides/ios/manual-setup.md)
* [macOS](https://docs.sentry.io/platforms/apple/guides/macos.md)
* [Browser](https://docs.sentry.io/platforms/javascript.md#configure)

For Web you will need to install the JavaScript SDK by injecting the loader script manually into your HTML's `<head>` tag.

The Android, iOS, and macOS SDKs are already packaged with the Flutter SDK. The Flutter SDK installs the Apple SDK through Swift Package Manager. Use the bundled native SDK version rather than adding an incompatible version separately. For native Swift or Objective-C customizations, review the [Cocoa v8-to-v9 migration guide](https://docs.sentry.io/platforms/apple/migration/v8-to-v9.md).
