Essential Flutter CLI Commands Guide for Developers
Contents
Flutter provides rich command-line tools to streamline the development process. This article will detail various Flutter CLI commands to help developers improve their workflow efficiency.
Environment Check & Configuration
System Diagnostics
# Check Flutter installation status and system configuration
flutter doctor
# Detailed check (shows all component statuses)
flutter doctor -v
# Check specific platform configuration
flutter doctor --android-licenses
Version Management
# Check current Flutter version
flutter --version
# List all available channels
flutter channel
# Switch to stable channel
flutter channel stable
# Switch to beta channel
flutter channel beta
# Update Flutter to latest version
flutter upgrade
# Downgrade to previous version
flutter downgrade
Project Creation & Management
Creating New Projects
# Create a new Flutter app
flutter create my_app
# Create with specific organization
flutter create --org com.example my_app
# Create with specific platforms
flutter create --platforms android,ios my_app
# Create a package
flutter create --template=package my_package
# Create a plugin
flutter create --template=plugin my_plugin
Project Structure
# Generate platform-specific code
flutter create --platforms web .
# Add platform support to existing project
flutter create --platforms macos,linux,windows .
Development & Running
Running Applications
# Run on connected device
flutter run
# Run in debug mode (default)
flutter run --debug
# Run in profile mode
flutter run --profile
# Run in release mode
flutter run --release
# Run on specific device
flutter run -d device_id
# Run with hot reload disabled
flutter run --no-hot-reload
# Run with specific target file
flutter run -t lib/main_dev.dart
Device Management
# List all connected devices
flutter devices
# List all available emulators
flutter emulators
# Launch specific emulator
flutter emulators --launch emulator_id
# Run on Chrome (web)
flutter run -d chrome
# Run on specific iOS simulator
flutter run -d "iPhone 14 Pro"
Building & Compilation
Android Builds
# Build APK (debug)
flutter build apk
# Build APK (release)
flutter build apk --release
# Build APK for specific architecture
flutter build apk --target-platform android-arm64
# Build App Bundle (recommended for Play Store)
flutter build appbundle
# Build with obfuscation
flutter build apk --obfuscate --split-debug-info=debug-info/
iOS Builds
# Build iOS app
flutter build ios
# Build iOS app for release
flutter build ios --release
# Build without code signing
flutter build ios --no-codesign
# Build for simulator
flutter build ios --simulator
Web Builds
# Build web app
flutter build web
# Build with specific renderer
flutter build web --web-renderer canvaskit
# Build with specific base href
flutter build web --base-href /my-app/
Desktop Builds
# Build for macOS
flutter build macos
# Build for Windows
flutter build windows
# Build for Linux
flutter build linux
Testing & Quality Assurance
Running Tests
# Run all tests
flutter test
# Run specific test file
flutter test test/widget_test.dart
# Run tests with coverage
flutter test --coverage
# Run integration tests
flutter drive --target=test_driver/app.dart
Code Analysis
# Analyze code for issues
flutter analyze
# Format code
flutter format .
# Format specific file
flutter format lib/main.dart
# Check formatting without applying
flutter format --dry-run .
Dependency Management
Package Operations
# Get dependencies
flutter pub get
# Update dependencies
flutter pub upgrade
# Add a new dependency
flutter pub add package_name
# Add a dev dependency
flutter pub add --dev package_name
# Remove a dependency
flutter pub remove package_name
# Show dependency tree
flutter pub deps
# Check for outdated packages
flutter pub outdated
Package Publishing
# Validate package before publishing
flutter pub publish --dry-run
# Publish package
flutter pub publish
# Check package score
flutter pub points
Debugging & Profiling
Debug Tools
# Open Flutter Inspector
flutter inspector
# Attach debugger to running app
flutter attach
# Attach to specific device
flutter attach -d device_id
# Enable performance overlay
flutter run --enable-performance-overlay
Performance Analysis
# Profile app performance
flutter run --profile
# Generate performance trace
flutter drive --profile --trace-startup
# Analyze app size
flutter build apk --analyze-size
# Build with tree shaking disabled
flutter build apk --no-tree-shake-icons
Advanced Commands
Clean & Reset
# Clean build artifacts
flutter clean
# Clean and get dependencies
flutter clean && flutter pub get
# Reset Flutter installation
flutter doctor --reset
Configuration
# Enable/disable specific platforms
flutter config --enable-web
flutter config --enable-macos-desktop
flutter config --enable-linux-desktop
flutter config --enable-windows-desktop
# Configure analytics
flutter config --no-analytics
# Set custom Android SDK path
flutter config --android-sdk /path/to/android/sdk
Logs & Debugging
# View device logs
flutter logs
# Clear device logs
flutter logs --clear
# View logs for specific device
flutter logs -d device_id
# Enable verbose logging
flutter run -v
Useful Shortcuts & Tips
Hot Reload & Restart
While flutter run
is active:
r
- Hot reloadR
- Hot restarth
- List available commandsq
- Quit
Environment Variables
# Set Flutter root
export FLUTTER_ROOT=/path/to/flutter
# Set Android SDK path
export ANDROID_SDK_ROOT=/path/to/android/sdk
# Enable verbose logging
export FLUTTER_VERBOSE=true
Batch Operations
# Clean and rebuild everything
flutter clean && flutter pub get && flutter build apk
# Run tests and analyze code
flutter test && flutter analyze
# Format and analyze code
flutter format . && flutter analyze
Troubleshooting Common Issues
Permission Issues
# Fix Android license issues
flutter doctor --android-licenses
# Reset Flutter configuration
flutter doctor --reset
# Clear Flutter cache
flutter clean
Build Issues
# Clean and rebuild
flutter clean
flutter pub get
flutter build apk
# Reset Gradle wrapper
cd android && ./gradlew clean && cd ..
# Update dependencies
flutter pub upgrade --major-versions
Performance Issues
# Build with optimization
flutter build apk --release --shrink
# Analyze bundle size
flutter build apk --analyze-size
# Profile memory usage
flutter run --profile --trace-skia
Best Practices
1. Regular Maintenance
# Weekly routine
flutter doctor
flutter pub outdated
flutter analyze
2. Version Control
# Before committing
flutter format .
flutter analyze
flutter test
3. CI/CD Integration
# Typical CI script
flutter doctor
flutter pub get
flutter test
flutter analyze
flutter build apk --release
4. Multi-Platform Development
# Test on all platforms
flutter run -d android
flutter run -d ios
flutter run -d chrome
flutter run -d macos
Conclusion
Mastering Flutter CLI commands significantly improves development efficiency. From project creation to deployment, these commands cover the entire development lifecycle. Regular practice with these commands will make you a more productive Flutter developer.
Remember to:
- Use
flutter doctor
regularly to check your environment - Keep your Flutter SDK updated
- Leverage hot reload for faster development
- Use proper build configurations for different environments
- Analyze and test your code regularly
Happy Flutter development! 🚀