π± 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
iperf3
command (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.properties
and 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: