Build variants
Network Survey comes in two versions with different features and privacy characteristics.
Quick comparison
Section titled “Quick comparison”| Feature | Regular (Play Store) | CDR (F-Droid/IzzyOnDroid/GitHub) |
|---|---|---|
| Cellular survey | Yes | Yes |
| Wi-Fi survey | Yes | Yes |
| Bluetooth survey | Yes | Yes |
| GNSS survey | Yes | Yes |
| Log files (CSV) | Yes | Yes |
| MQTT and gRPC streams | Yes | Yes |
| NS Analytics | Yes | Yes |
| Call records: call events and tower changes | Yes | Yes |
Call records: other party’s number (READ_CALL_LOG) | No | Yes |
Call records: SMS and MMS events (READ_SMS) | No | Yes |
Call records: this phone’s number (READ_PHONE_NUMBERS) | Yes | Yes |
| Firebase Analytics | Enabled | Not included |
| Firebase Crashlytics | Enabled | Not included |
| Automatic updates | Via Play Store | Via F-Droid/IzzyOnDroid |
Regular version (Google Play Store)
Section titled “Regular version (Google Play Store)”Best for: Most users who want easy installation and updates
Features
Section titled “Features”- All core survey functionality
- Call records for call events and tower changes (the Survey tab tile reads “Calls, tower changes”)
- MQTT and gRPC streams
- Log files (CSV)
- NS Analytics
Limitations
Section titled “Limitations”- No SMS or MMS events in Call records: Google Play policy restriction (
READ_SMSnot permitted) - No other party’s number on calls in Call records: Google Play policy restriction (
READ_CALL_LOGnot permitted) - Includes Firebase: Crashlytics crash reporting and Firebase Analytics. The app logs no analytics events of its own; Settings > Device IDs shows the Firebase App instance ID in this build only.
This phone’s own number can be written to Call records in both versions through the optional READ_PHONE_NUMBERS permission.
Installation
Section titled “Installation”- Google Play Store
- Automatic updates
- Easy installation
CDR version (F-Droid, IzzyOnDroid, GitHub)
Section titled “CDR version (F-Droid, IzzyOnDroid, GitHub)”Best for: Privacy-focused users or those needing full Call records
Features
Section titled “Features”- Full Call records, including SMS and MMS events (the Survey tab tile reads “Calls, texts, tower changes”)
- The other party’s number on calls in Call records
- No Firebase: no analytics or crash reporting
- All standard survey features
Installation sources
Section titled “Installation sources”F-Droid (Recommended for privacy):
- F-Droid Repository
- Fully open-source build
- Automatic updates via F-Droid app
IzzyOnDroid:
- IzzyOnDroid Repository
- F-Droid-compatible
GitHub Releases:
- Download APK
- Each release has one APK per processor type, for example
networksurvey-<version>-cdr-arm64-v8a-release.apk, plus a-universal-APK that runs on all of them. Most current phones usearm64-v8a. - The regular (Google Play) build is attached too, as
networksurvey-<version>-regular-...-release.apk - Manual updates required
Why two versions?
Section titled “Why two versions?”Google Play policy restriction:
Google Play prohibits apps from requesting SMS and call-log permissions unless they are registered SMS or dialer apps. Network Survey doesn’t make calls or send SMS; it only logs the time and the other party’s number as a survey event.
Solution: Offer a separate CDR version outside of Google Play for users who need full Call records.
Which version should I choose?
Section titled “Which version should I choose?”Choose the regular (Play Store) version if
Section titled “Choose the regular (Play Store) version if”- You want the easiest installation
- You prefer automatic updates
- You don’t need SMS and MMS events in Call records
- You’re okay with Firebase analytics
Choose the CDR version if
Section titled “Choose the CDR version if”- You need SMS and MMS events in Call records
- You want complete privacy (no Firebase)
- You need the other-party phone numbers logged on calls
- You prefer open-source app stores
Building your own
Section titled “Building your own”You can build either version from source:
Regular version:
./gradlew assembleRegularDebug./gradlew installRegularDebugCDR version:
./gradlew assembleCdrDebug./gradlew installCdrDebugSee the installation guide for full instructions.
Related
Section titled “Related”- Installation - How to install each version
- APK verification - Verify APK authenticity
- Privacy policy - Data collection differences
- Required permissions - Permission differences
- Call records - What Call records contain