Flutter Android Log Monitoring Setup on macOS
I was getting tired of developing across Windows and Mac, so here are my notes.
I originally had Flutter on Windows and the backend on Mac. I was using Docker on Windows to replicate a sakura/lolipop server environment, but the Windows path setup was a pain, so I switched to doing it on Mac. Android development itself works fine on Windows, but monitoring both frontend and backend logs at the same time across two machines is rough. Paths are easier on Mac, and one machine is better than two, so I moved the Flutter environment to Mac too.
These are the notes from setting everything up with Claude’s help.
Prerequisites
- macOS (Apple Silicon or Intel)
- Homebrew installed
Installation Steps
Install Android Studio
brew install --cask android-studio
Or download from the official site.
Set Up the Android SDK
Launch Android Studio and complete the initial setup.
Install additional SDK Tools (Android Studio → Settings → Languages & Frameworks → Android SDK → SDK Tools):
- ✅ Android SDK Command-line Tools (latest)
- ✅ Android SDK Platform-Tools
- ✅ Android Emulator
Install Flutter SDK
brew install --cask flutter
Accept Licenses
flutter doctor --android-licenses
Accept all with y.
Check the Environment
flutter doctor
The following should show ✅:
- Flutter
- Android toolchain
Creating an Emulator
Android Studio → Device Manager → Create Device
Recommended settings:
- Device: Medium Phone
- System Image: API 34 or higher
- Name: anything (e.g.
Medium_Phone_API_36)
PATH Configuration (Recommended)
Add to ~/.zshrc:
export ANDROID_HOME="$HOME/Library/Android/sdk"
export PATH="$PATH:$ANDROID_HOME/platform-tools"
export PATH="$PATH:$ANDROID_HOME/emulator"
Apply changes:
source ~/.zshrc
After this, shorter commands become available:
adb logcat
emulator -list-avds
Using Log Monitoring
Starting the Emulator
# List available emulators
emulator -list-avds
# Launch one
emulator -avd <emulator-name>
Or via Flutter:
flutter emulators --launch <emulator-name>
Verify Device Recognition
# Lightweight (direct adb)
adb devices
# Via Flutter (more details)
flutter devices
Monitoring Logs
# Flutter logs (recommended)
# Note: outputs nothing if the Flutter app isn't running
flutter logs
# All ADB logs
adb logcat
# WebView console logs only
adb logcat | grep -iE "console|chromium|webview"
# WebView logs (suppress everything else)
adb logcat *:S chromium:V
# Flutter tag only
adb logcat -s flutter
Troubleshooting
adb Not Recognizing the Device
adb kill-server && adb start-server
Nothing Showing in flutter devices
- Confirm the emulator is running
- Check if it’s recognized with
adb devices - If not recognized, restart adb
Common Command Reference
| Purpose | Command |
|---|---|
| Check environment | flutter doctor |
| List devices | flutter devices |
| Check device (lightweight) | adb devices |
| List emulators | flutter emulators or emulator -list-avds |
| Launch emulator | flutter emulators --launch <name> |
| Monitor logs (Flutter) | flutter logs |
| Monitor logs (all) | adb logcat |
| WebView logs | adb logcat *:S chromium:V |
| Restart adb | adb kill-server && adb start-server |
Sample Environment Status
| Item | Status | Path / Version |
|---|---|---|
| Flutter SDK | ✅ | 3.38.x (stable) |
| Dart | ✅ | 3.10.x |
| Android toolchain | ✅ | Android SDK 36.x |
| Android Studio | ✅ | /Applications/Android Studio.app |
| Android SDK | ✅ | ~/Library/Android/sdk/ |
| cmdline-tools | ✅ | ~/Library/Android/sdk/cmdline-tools/latest/ |
| ADB | ✅ | ~/Library/Android/sdk/platform-tools/adb |
| Emulator | ✅ | Medium_Phone_API_36 |
| Xcode | ❌ | Required for iOS dev (not needed for Android) |