Vai al contenuto

Developer Getting Started

Set up your development environment.

Prerequisites

  • Flutter SDK 3.27 or later, with Dart 3.7 or later
  • Git and Git LFS for the large ONNX model files
  • Android Studio or VS Code with Flutter/Dart extensions

Platform-Specific

  • Android: Android SDK, NDK (for ONNX native libraries)
  • iOS: Xcode 15+, CocoaPods
  • Windows: Visual Studio 2022 with C++ desktop workload

Setup

# Clone the repository
git clone https://github.com/birdnet-team/birdnet-live-app.git
cd birdnet-live-app

# Pull the real ONNX model files tracked by Git LFS
git lfs install
git lfs pull

# Install Flutter dependencies and generate localizations
flutter pub get
flutter gen-l10n

# Verify setup
flutter doctor

Do not skip the LFS step on a fresh clone. The .onnx files in assets/models/ are required at runtime; Git LFS pointer files can let a build start but model loading will fail when the app tries to initialize inference.

Running

# Run on connected device
flutter run

# Run with verbose logging
flutter run --verbose

# Run on a specific device
flutter devices          # List devices
flutter run -d <device>  # Target specific device

Common Commands

flutter pub get          # Install dependencies
flutter analyze --no-pub # Static analysis after dependencies are installed
flutter test             # Run all unit tests
flutter gen-l10n         # Regenerate localization (auto on build)
flutter build apk --debug # Build Android debug APK
flutter build ios        # Build iOS (requires macOS)

Model Assets

BirdNET Live ships two ONNX models in assets/models/: the BirdNET+ audio classifier (~152 MB) and the BirdNET geo-model (~6 MB). Both are tracked with Git LFS and are bundled with local builds after git lfs pull.

You only need the Python model build pipeline in dev/ when updating or rebuilding the models themselves. Normal app development uses the checked-in LFS model artifacts.