π± Automated Mobile Network Testing Suite for RF Engineers, QA, and Devs
With JNI bindings to native iPerf3, it offers low-level control, intelligent test strategies, and a polished UI β perfect for field diagnostics, automated lab tests, and performance validation on mobile.
βοΈ If you find CellularLab useful, please consider giving it a star β it helps others discover the project and supports development!
A fast, native iPerf3 Android client with TCP/UDP/AI log analysis support. Built with JNI + Android Studio.
Latest signed release: Download from GitHub Releases β
β οΈ Works on Android 10+ (API 29+).
π Logs are saved to yourDownloads/folder.
- π§ͺ TCP
- π‘ UDP
- π UDP Incremental Ramp-Up
- π Hybrid TCP+UDP
- π€ Smart Adaptive Ramp-Up
- π€ Upload
- π₯ Download (
-R) - π Bidirectional (
--bidir)
Take full control of your testing with Command Mode β execute custom iPerf3 commands directly:
- π» Enter any
iperf3command (e.g.-c 10.0.0.1 -u -b 10M) - π― Perfect for advanced users needing custom bandwidth, interval, protocol
- π Full live output visible and saved like regular tests
Let your assistant do the heavy lifting!
- β¨ Tap "AI Analyze" on any log from History
- π Generates a structured markdown report:
- Summary of the test
- Performance issues (packet loss, jitter, etc.)
- Recommendations
- Quality rating (Excellent/Good/Fair/Poor)
- πͺ Clean, formatted output with headlines, bolds, bullet points
- β‘ Powered by Google Gemini Flash
- π Safe β your API key is stored in
local.propertiesand not committed
Great for reports, debugging, and sharing with your network team.
| π Strategy | π Description |
|---|---|
| π Incremental Ramp-Up | Gradually increases UDP bandwidth to simulate real-time scaling and detect limits |
| π Hybrid TCP+UDP | Uses TCP to estimate capacity, then runs UDP at that level |
| π§ Smart Ramp-Up | Increases UDP load only if β₯90% of packets succeed in previous step |
These are ideal for automated testing environments or dynamic network analysis.
- Set custom durations (e.g., 10s, 60s)
- Configure parallel streams
- Customizable reporting interval
- Enable verbose/debug logging
- Auto-scroll control (double-tap to toggle)
- Wait between iterations
- π Real-time iPerf3-style logs (1s interval)
- π Logs saved to
Downloads/folder - π§² Double-tap log view to toggle auto-scroll
- π€ Share logs via Mail, WhatsApp, Drive, etc.
- π Clean formatting for easy analysis
- π€ AI analysis (v2.0) now supported for detailed summaries!
No iPerf server? Use these community-hosted ones:
- π iperf.fr
- π R0GGER/public-iperf3-servers
β οΈ May be unstable or offline depending on maintenance.
New users get an in-app walkthrough of the key screens and controls.
Just set up the parameters (IP, protocol, duration) and tap start.
See previous results with clear pass/fail indicators:
- β All tests passed
β οΈ Partial success- β Most failed
You can:
- Tap to open logs
- Share or delete from the UI
- β¨ Analyze with Gemini AI
β¨ Tap "AI Analyze" on any log from History
| Component | Details |
|---|---|
| IDE | Android Studio Narwhal 2025.1.1 |
| NDK Version | 28.1.13356709 |
| iPerf Version | 3.19 (Native C via JNI) |
| Min SDK | API 29 |
| Target SDK | API 35 |
| ABI Support | armeabi-v7a, arm64-v8a |
| Build Types | Debug & Signed Release |
To upgrade to a newer iPerf3 version:
π See docs/updating-iperf.md for detailed steps.
Want to dive deeper into how this app was built or learn how to compile iPerf3 for Android?
- π How I Accidentally Vibe-Coded an Android iPerf3 App with AI
- π οΈ Compiling iPerf3 in Android with CMake and JNI β A Practical Guide
- π User Guide
Follow me on Hashnode for more deep dives:
π @AbhishekIN on Hashnode
This project is open-source under a custom MIT-style license:
- β Personal and non-commercial use allowed
- β Uploading to Play Store or commercial use requires permission
If you build on this, please give credit with a link to the original repo: