Skip to content

Repository files navigation

NetPulse

Real-time network monitor, latency tracker, quality analyzer, and background speed visualizer for Android.

Requirements

Build on Windows (one-click)

Double-click or run from a command prompt:

build.bat                 :: debug APK  -> apk\NetPulse-debug.apk
build.bat assembleRelease :: signed release APK -> apk\NetPulse-release.apk
build.bat testDebugUnitTest

build.bat automatically:

  1. Checks for JDK 17+ (on PATH or JAVA_HOME).
  2. Finds the Android SDK (ANDROID_HOME / ANDROID_SDK_ROOT / %LOCALAPPDATA%\Android\Sdk) and, if missing, downloads the command-line tools and installs platforms;android-36 + build-tools;36.0.0.
  3. Creates local.properties pointing at the SDK.
  4. Downloads Gradle 9.1.0 once and generates gradlew / gradlew.bat (the wrapper is not committed as a binary).
  5. For release builds, generates my-upload-key.jks + keystore.properties (both git-ignored) on first run.
  6. Copies the finished APK into the apk/ folder.

Build manually (after the wrapper exists)

gradlew.bat assembleDebug
gradlew.bat assembleRelease

Tests

gradlew.bat testDebugUnitTest        :: unit + Robolectric tests
gradlew.bat connectedDebugAndroidTest :: instrumented tests (device/emulator)

Notes

  • Debug builds use the standard auto-generated debug keystore (~/.android/debug.keystore); no extra setup is required.
  • Release APKs are unsigned if no keystore is present (a keystore can also be configured through KEYSTORE_PATH, STORE_PASSWORD, KEY_PASSWORD env vars or a keystore.properties file).
  • The foreground services use foregroundServiceType="specialUse" because Android 15+ restricts dataSync services to 6 hours/day and forbids starting them from BOOT_COMPLETED.
  • values-fa contains the complete Persian localization; Wi-Fi SSID display additionally requires the app's location permission (requested automatically when a Wi-Fi SSID cannot be read).

About

A network benchmark tool

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages