> ## Documentation Index
> Fetch the complete documentation index at: https://docs.revyl.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Flutter Builds

> Build Flutter apps for iOS and Android simulators

Generate simulator builds for your Flutter app.

## Quick Start

Flutter apps follow standard platform build processes:

* **iOS**: Use Xcode (see [Xcode guide](/builds/xcode))
* **Android**: Use Gradle (see [Gradle guide](/builds/gradle))

## Supported Versions

Revyl supports Flutter **up to 3.19.x**.

```bash theme={null}
# Check Flutter version
flutter --version

# Upgrade if needed
flutter upgrade
```

## Build Mode

Use **debug builds** for better test reliability.

Debug builds provide:

* Accurate view hierarchy extraction
* Better element identification
* Faster execution

```bash theme={null}
# iOS debug build
flutter build ios --debug --simulator

# Android debug build
flutter build apk --debug
```

## Build Locations

After building:

**iOS**: `.app` file at:

```
build/ios/iphonesimulator/Runner.app
```

**Android**: `.apk` file at:

```
build/app/outputs/flutter-apk/app-debug.apk
```

## Authenticated Test States

To skip login screens in Revyl tests, handle a test-only auth-bypass deep link in Dart and read Revyl launch variables through a platform channel or staging backend verification.

See [Auth Bypass Deep Links](/builds/auth-bypass-deeplinks#framework-recipes) for the Flutter snippet.

## Upload to Revyl

1. Navigate to **Builds** page
2. Click **Upload Build**
3. Select platform (iOS/Android)
4. Drag and drop your build file
5. Done!

## Troubleshooting

<AccordionGroup>
  <Accordion title="Build fails with Flutter version error">
    Ensure you're using Flutter 3.19.x or earlier:

    ```bash theme={null}
    flutter downgrade v3.19.0
    ```
  </Accordion>

  <Accordion title="iOS build fails">
    Check Xcode configuration:

    ```bash theme={null}
    flutter doctor
    sudo xcode-select --switch /Applications/Xcode.app
    ```
  </Accordion>

  <Accordion title="Android build fails">
    Clean and rebuild:

    ```bash theme={null}
    flutter clean
    flutter pub get
    flutter build apk --debug
    ```
  </Accordion>

  <Accordion title="Can't find build file">
    Check build output directory:

    ```bash theme={null}
    # iOS
    open build/ios/iphonesimulator/

    # Android
    open build/app/outputs/flutter-apk/
    ```
  </Accordion>
</AccordionGroup>

## Resources

* [Flutter Build Modes](https://docs.flutter.dev/testing/build-modes)
* [Flutter Debugging](https://docs.flutter.dev/testing/debugging)
