๐ฑ 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: