flutter_build_doctor 0.1.0 copy "flutter_build_doctor: ^0.1.0" to clipboard
flutter_build_doctor: ^0.1.0 copied to clipboard

Automatically diagnose, explain, and fix common Flutter build issues. Gradle, CocoaPods, Xcode, Java, Kotlin version mismatches — detected and fixed in seconds. CLI tool + programmatic API.

🩺 Flutter Build Doctor #

pub package License: MIT

Automatically diagnose and fix Flutter build issues. Stop googling error messages.

Gradle version mismatch? AGP too old? CocoaPods cache corrupted? Namespace missing? Flutter Build Doctor detects it all and fixes it in seconds.

🔥 The Problem #

Every Flutter developer has wasted hours on:

  • Unsupported class file major version 65 → Java/Gradle mismatch
  • Namespace not specified → AGP 8.0+ breaking change
  • CocoaPods could not find compatible versions → Pod cache corruption
  • Execution failed for task ':app:compileDebugKotlin' → Kotlin version conflict

Flutter Build Doctor knows exactly what's wrong and how to fix it.

🚀 Quick Start #

Install #

dart pub global activate flutter_build_doctor

Run #

# Navigate to your Flutter project
cd my_flutter_app

# Full diagnosis
flutter_build_doctor diagnose

# Auto-fix everything
flutter_build_doctor fix --auto

# Clean all caches
flutter_build_doctor clean

📸 What It Looks Like #

╔═══════════════════════════════════════════════════════════╗
║  🔍 Flutter Build Doctor - Diagnosis                      ║
╚═══════════════════════════════════════════════════════════╝

🎯 Flutter / Common
────────────────────────────────────────
✅ Flutter SDK (3.27.1 (stable))
✅ pubspec.yaml
✅ Build Cache

📱 Android
────────────────────────────────────────
❌ Gradle Version Too Low
   Flutter 3.27 requires Gradle 8.5+. Current version 7.6.3.
   💡 Update distributionUrl in gradle-wrapper.properties.
   🔧 Auto-fixable
❌ AGP Version Too Low
   Flutter 3.27 requires AGP 8.3+. Current version 7.4.2.
   💡 Update AGP version in build.gradle.
   🔧 Auto-fixable
✅ Kotlin Version (2.0.0)
✅ Java Version (17)
✅ Min SDK Version (21)

🍎 iOS
────────────────────────────────────────
✅ CocoaPods (1.15.2)
✅ Ruby Version (3.2.2)
✅ Xcode Version (16.2)
✅ Podfile

═══════════════════════════════════════════════════════════

📋 Summary
   2 errors
   0 warnings
   9 passed

🔧 2 issue(s) can be auto-fixed

📖 CLI Commands #

# Diagnosis
flutter_build_doctor diagnose              # Full diagnosis
flutter_build_doctor diagnose --android    # Android only
flutter_build_doctor diagnose --ios        # iOS only

# Fixing
flutter_build_doctor fix                   # Interactive fix mode
flutter_build_doctor fix --auto            # Auto-fix all safe issues
flutter_build_doctor fix --dry-run         # Preview fixes without applying

# Cleaning
flutter_build_doctor clean                 # Clean all caches
flutter_build_doctor clean --gradle        # Gradle cache only
flutter_build_doctor clean --pods          # CocoaPods only
flutter_build_doctor clean --flutter       # Flutter build cache only

🔍 What It Detects #

Android #

Issue Detection Auto-Fix
Gradle version mismatch
AGP version mismatch
Kotlin version mismatch
Java/JDK incompatible 📋 Guide
Namespace missing (AGP 8+)
MinSdk too low
Gradle cache corruption

iOS #

Issue Detection Auto-Fix
CocoaPods not installed 📋 Guide
CocoaPods outdated 📋 Guide
Ruby version mismatch ⚠️
Xcode outdated 📋 Guide
Podfile issues
Pod cache corruption

Common #

Issue Detection Auto-Fix
Flutter SDK missing
Pubspec issues
Build cache stale

🔧 Programmatic API #

Use it in your own tools:

import 'package:flutter_build_doctor/flutter_build_doctor.dart';

void main() async {
  final doctor = FlutterBuildDoctor(projectRoot: '.');
  
  // Full diagnosis
  final report = await doctor.diagnose();
  print('Errors: ${report.errors.length}');
  print('Warnings: ${report.warnings.length}');
  
  // Fix auto-fixable issues
  for (final issue in report.autoFixable) {
    final result = await doctor.fix(issue);
    print(result);
  }
  
  // Or fix everything at once
  final results = await doctor.fixAll();
  
  // Clean caches
  await doctor.cleanAll();
}

📊 Version Compatibility Matrix #

Built-in knowledge of which versions work together:

final compat = VersionMatrix.getCompatibility('3.27.0');
print(compat!.gradle);  // 8.5+ (recommended: 8.11.1)
print(compat.agp);      // 8.3.0+ (recommended: 8.7.3)
print(compat.kotlin);   // 1.9.0+ (recommended: 2.1.0)
print(compat.java);     // 17+ (recommended: 21)

Covers Flutter 3.10 through 3.41.

☕ Support #

If this tool saves you time, consider buying me a coffee!

Buy Me A Coffee

🤝 Contributing #

Contributions welcome! Especially:

  • New diagnostic checks
  • Updated version compatibility data
  • Platform-specific fixes
  • Error pattern recognition

📄 License #

MIT License - see LICENSE for details.


Made with ❤️ for the Flutter community

0
likes
150
points
35
downloads

Documentation

API reference

Publisher

verified publisherthesanaullah.dev

Weekly Downloads

Automatically diagnose, explain, and fix common Flutter build issues. Gradle, CocoaPods, Xcode, Java, Kotlin version mismatches — detected and fixed in seconds. CLI tool + programmatic API.

Repository (GitHub)
View/report issues

Topics

#build #gradle #cocoapods #cli #developer-tools

License

MIT (license)

Dependencies

args, http, path, yaml

More

Packages that depend on flutter_build_doctor