- Pixel 9 device at
192.168.1.77:42529 - Flutter installed
- ADB configured
# Connect via wireless ADB
adb connect 192.168.1.77:42529
# Verify
adb devices
# Should show: 192.168.1.77:42529 devicecd app
# Get Flutter dependencies
flutter pub get
# Build Android dependencies
cd android
./gradlew build
cd ..# Run in debug mode
flutter run -d 192.168.1.77:42529
# Or build and install APK
flutter build apk --debug
flutter install -d 192.168.1.77:42529- Launch the app
- Navigate to Quest feature
- Create a new quest or open existing one
- Look for AI provider icon in AppBar (top-right)
- Icon shows current provider:
- 🤖 Phone = Gemini Nano (on-device)
- ☁️ Cloud = Gemini Cloud (API)
- ✨ Star = Auto-select
- Tap the AI provider icon
- Bottom sheet opens showing available providers
- Check if "Gemini Nano" shows as available
- If available, you'll see:
- ✅ Green checkmark
- "On-device AI" description
- Capability chips (Streaming, Files)
- Select Gemini Nano (if available)
- Type a query: "Create a 7-day diet plan"
- Send the message
- Response should come from on-device AI
# Terminal 1: Watch Flutter logs
flutter logs
# Terminal 2: Watch Android logs
adb logcat | grep -E "GeminiNano|AIRouter"✅ Success:
I/flutter: Checking AI provider availability...
I/flutter: Gemini Nano: Available
I/flutter: Device: Google Pixel 9
I/flutter: AI Provider changed to: Gemini Nano
I/flutter: Processing query with: Gemini Nano
❌ Not Available (fallback to Cloud):
I/flutter: Checking AI provider availability...
I/flutter: Gemini Nano: Not supported on this device
I/flutter: Gemini Cloud: Available
I/flutter: Processing query with: Gemini Cloud
- Open provider selector
- See all three options (Nano, Cloud, Auto)
- Check availability status
- Switch between providers
- Verify selection persists
- Select Gemini Nano
- Send simple query
- Verify response
- Test streaming response
- Check response time (<3s target)
- Set to Auto mode
- Verify it selects Nano if available
- If Nano unavailable, verify Cloud fallback
- Check error messages are clear
- Provider selector opens as bottom sheet
- Can drag to resize
- Can dismiss by swiping down
- Back button works correctly
- Multiple layers stack properly
- Upload PDF/image
- Ask questions about content
- Create diet plan
- Split bill
- Fill form
- Create reminder
# Check ADB connection
adb devices
# Reconnect
adb disconnect
adb connect 192.168.1.77:42529
# Enable wireless debugging on device
# Settings > Developer Options > Wireless Debugging# Clean build
cd app
flutter clean
flutter pub get
# Rebuild
flutter build apk --debugThis is expected! The current implementation includes:
- ✅ Native Android plugin structure
- ✅ Provider selection UI
- ✅ Auto-routing logic
- ⏳ Actual AI Core SDK integration (pending)
The plugin will:
- Check device compatibility ✅
- Attempt to initialize AI Core ⏳
- Fall back to Cloud API if unavailable ✅
# Check crash logs
adb logcat | grep -E "AndroidRuntime|FATAL"
# Common issues:
# - Missing dependencies: Run `flutter pub get`
# - Gradle sync: Open android/ in Android Studio and sync
# - Kotlin version: Check build.gradle.kts| Metric | Target | How to Measure |
|---|---|---|
| Response Time | <3s | Time from send to first token |
| Accuracy | F1≥0.9 | Compare with expected output |
| Battery Usage | <5% per workflow | Android Battery Stats |
| Memory Footprint | <1.2GB | Android Memory Profiler |
| Offline Accuracy | 90% | Test without network |
Main Screen
↓
Tap Quest
↓
Quest Chat Screen
↓
Tap AI Provider Icon (top-right)
↓
Bottom Sheet Opens (Layer Navigation)
↓
Select Provider (Nano/Cloud/Auto)
↓
Sheet Closes
↓
Send Query
↓
Response from Selected Provider
- ✅ Test on Pixel 9 device
- ✅ Verify provider selection works
- ✅ Check fallback to Cloud
- ✅ Test layer navigation
- ✅ Validate UI/UX flow
- ⏳ Integrate actual AI Core SDK
- ⏳ Implement Cloud API (replace mock)
- ⏳ Add model download management
- ⏳ Implement offline detection
- ⏳ Add performance monitoring
- 🔮 Fine-tune for use cases
- 🔮 Multi-modal support
- 🔮 Battery optimization
- 🔮 Advanced caching
- 🔮 Analytics integration
- Google AI Samples:
C:\Users\chauh\develop\ai-samples\ai-catalog\app - Official Docs: https://developer.android.com/ai/gemini-nano
# Device info
adb shell getprop | grep -E "ro.product|ro.build"
# Check AI Core
adb shell pm list packages | grep -i ai
# App logs
adb logcat -s flutter,GeminiNano,AIRouter
# Clear app data
adb shell pm clear com.airo.superapp
# Reinstall
flutter clean && flutter run -d 192.168.1.77:42529You'll know it's working when:
- ✅ App builds without errors
- ✅ Runs on Pixel 9 device
- ✅ Provider selector opens smoothly
- ✅ Shows Nano availability status
- ✅ Can switch between providers
- ✅ Queries get responses
- ✅ Fallback works if Nano unavailable
- ✅ UI is responsive and smooth
- ✅ No crashes or errors
- ✅ Logs show correct provider usage
Ready to test? Run flutter run -d 192.168.1.77:42529 and start exploring! 🚀