Bỏ qua để đến nội dung

▶️ Chạy ứng dụng

Terminal window
flutter devices

Kết quả ví dụ:

3 connected devices:
iPhone 15 Pro (mobile) • iOS Simulator
Android SDK (mobile) • Android Emulator
Chrome (web) • chrome
macOS (desktop) • macos

Terminal window
# Mở Simulator
open -a Simulator
# Chạy app
flutter run

Hoặc từ Xcode: Open Xcode → Open Developer Tool → Simulator

Terminal window
# Liệt kê AVDs
flutter emulators
# Khởi động emulator
flutter emulators --launch <emulator_id>
# Chạy app
flutter run

Hoặc từ Android Studio: Open AVD Manager → Launch


  1. Bật Developer Options trên thiết bị:

    • Vào Settings → About Phone
    • Tap Build Number 7 lần
  2. Bật USB Debugging:

    • Settings → Developer Options → USB Debugging
  3. Kết nối USB và chạy:

    Terminal window
    flutter run
  1. Kết nối iPhone qua USB
  2. Trust máy tính trên iPhone
  3. Mở Xcode, đăng nhập Apple ID
  4. Cấu hình Signing trong Xcode
  5. Chạy:
    Terminal window
    flutter run

Terminal window
flutter run -d chrome

Hoặc chỉ định browser:

Terminal window
flutter run -d web-server --web-port 8080

Terminal window
# macOS
flutter run -d macos
# Windows
flutter run -d windows
# Linux
flutter run -d linux

Phím Tác dụng
r Hot Reload - reload code, giữ state
R Hot Restart - restart app, reset state
h Hiển thị help
d Detach (giữ app chạy)
c Clear console
q Quit

Terminal window
# Liệt kê device IDs
flutter devices
# Chạy trên device cụ thể
flutter run -d <device_id>
# Ví dụ
flutter run -d iPhone\ 15\ Pro
flutter run -d emulator-5554
flutter run -d chrome

Terminal window
# Debug mode (default)
flutter run
# Profile mode (performance testing)
flutter run --profile
# Release mode
flutter run --release
# Verbose output
flutter run -v

Feature Hot Reload Hot Restart
Phím r R
Tốc độ ~1 giây ~5 giây
State Giữ nguyên Reset
Use case Thay đổi UI Thay đổi logic

Hot Reload hoạt động với:

  • Thay đổi widget build()
  • Thêm/sửa functions
  • Thay đổi styles

Cần Hot Restart khi:

  • Thay đổi main()
  • Thay đổi initState()
  • Thêm biến global
  • Thay đổi enum values

Terminal window
# Kiểm tra lại
flutter devices
# Khởi động emulator
flutter emulators --launch <name>
Terminal window
cd android
./gradlew clean
cd ..
flutter run
Terminal window
cd ios
pod install
cd ..
flutter run

Platform Command
Default (auto-detect) flutter run
iOS Simulator flutter run -d iPhone
Android Emulator flutter run -d emulator
Chrome flutter run -d chrome
macOS flutter run -d macos
Thiết bị cụ thể flutter run -d <device_id>

Nhớ:

  • r = Hot Reload (nhanh, giữ state)
  • R = Hot Restart (chậm hơn, reset state)
  • q = Quit