Skip to content

Agent Capabilities

Each build agent reports its capabilities based on detected software. This determines which builds the agent can execute.

During registration, the agent detects:

CapabilityHow It’s Detected
iOSmacOS + xcodebuild -version
AndroidANDROID_HOME or Flutter’s Android SDK
WebAlways enabled (Flutter can build web)
  • macOS (any recent version)
  • Xcode (14.0+, latest recommended)
  • CocoaPods (for dependencies)
Terminal window
# Install Xcode from App Store, then:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
sudo xcodebuild -license accept
# Install command line tools
xcode-select --install
# Install CocoaPods
sudo gem install cocoapods
# Verify
xcodebuild -version
flutter doctor
Xcode: 15.1
Build version: 15C65

For deploying to TestFlight/App Store, you’ll need:

  • Apple Developer account
  • Distribution certificate
  • Provisioning profiles

See Code Signing Guide for setup instructions.

  • Android SDK (command-line tools or Android Studio)
  • Java JDK (17+ recommended)
  • Gradle (usually bundled with Flutter)

Option 1: Android Studio

Terminal window
# Install Android Studio
# Download from: https://developer.android.com/studio
# Accept licenses
flutter doctor --android-licenses

Option 2: Command-line tools only

Terminal window
# Download command-line tools from:
# https://developer.android.com/studio#command-tools
# Extract to ~/Android/cmdline-tools/latest/
# Set environment variables
export ANDROID_HOME=$HOME/Android
export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools
# Install required components
sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0"
# Accept licenses
flutter doctor --android-licenses

The agent checks for ANDROID_HOME environment variable or uses Flutter’s detection:

Android SDK: /Users/you/Library/Android/sdk
Platform: android-34
Build-tools: 34.0.0

For Google Play deployment, you’ll need:

  • Upload key (keystore file)
  • Key password
  • Google Play Console service account

See Android Deployment Guide for setup.

  • Flutter (any version with web support)
  • Chrome (for testing, optional)

Web builds work out of the box with Flutter:

Terminal window
# Verify Flutter supports web
flutter devices
# Should show:
# Chrome • chrome • web-javascript • Google Chrome

Web capability is always enabled if Flutter is installed.

Terminal window
flightstack agent list

Output:

My-MacBook-Pro
ID: a1b2c3d4-...
Status: 🟢 Online
Capabilities: iOS, Android, Web
  1. Go to Build Agents
  2. Click on an agent
  3. View the Capabilities section

If you install new software (e.g., add Xcode to a Linux machine via VM), re-register to update capabilities:

Terminal window
# Re-register to detect new capabilities
flightstack agent register
Agent PlatformiOSAndroidWeb
macOS + Xcode
macOS (no Xcode)
Linux
Windows

For full platform coverage, consider:

AgentPlatformUse For
mac-buildermacOSiOS builds
linux-ciLinuxAndroid, Web, tests

FlightStack automatically routes builds to agents with matching capabilities.

/Applications/Xcode.app/Contents/Developer
# Check Xcode installation
xcode-select -p
# If not, set it:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
# Re-register agent
flightstack agent register
Terminal window
# Check ANDROID_HOME
echo $ANDROID_HOME
# Set if missing
export ANDROID_HOME=$HOME/Library/Android/sdk # macOS
export ANDROID_HOME=$HOME/Android/Sdk # Linux
# Add to your shell profile (.zshrc, .bashrc)
echo 'export ANDROID_HOME=$HOME/Library/Android/sdk' >> ~/.zshrc
# Re-register agent
flightstack agent register
Terminal window
# Check Flutter is in PATH
which flutter
# Add to PATH if needed
export PATH="$PATH:/path/to/flutter/bin"
# Verify
flutter doctor