New stumbler application for contributing data to geolocation services
See the code
NeoStumbler is an Android application designed for mapping wireless infrastructure for geolocation purposes. It allows users to collect locations of cell towers, Wi-Fi access points and Bluetooth beacons and contribute them to Ichnaea-compatible (i.e. Mozilla Location Services) geolocation services – such as beaconDB.
[!TIP] See the user guide for more details on how to use NeoStumbler
There are three variants available:
You can install NeoStumbler either from an app store or by downloading an APK from Releases page. Versions marked as pre-release are betas or release candidates for the next version of NeoStumbler. These versions should generally be usable, but might have some bugs, UI / UX issues and missing translations.
If you install NeoStumbler directly from an APK, you need to check for updates manually or use a tool such as Obtainium.
The fdroid variant is available from F-Droid or alternatively from IzzyOnDroid. Reproducible builds are used for building NeoStumbler on F-Droid, which means that it's possible to upgrade an existing installation to a newer version from an alternative source.
The full variant is available from Accrescent. The advantage of using Accrescent is that only the assets needed for your device are downloaded.
A modified version of the full variant is also available on Google Play. This version does not include the automatic scanning feature and contains some minor quirks to comply with Google Play policies.
The application has three product flavors:
fdroidDefault - no closed components, features dependent on closed-source components (i.e. Google Play Services) are
not includedfullDefault - includes closed components, no features missingfullGplay - based on fullDefault, but has some minor differences to make it compliant with Google Play
requirements./gradlew assembleAll./gradlew :app:assembleFullDefaultDebug or
./gradlew :app:assembleFdroidDefaultDebug./gradlew :app:assembleFullDefaultRelease or
./gradlew :app:assembleFdroidDefaultRelease
keystore.jks in the project root directory and
setting values for environment variables (see app/build.gradle.kts)signingConfigs block from
app/build.gradle.kts./gradlew unitTest./gradlew androidTest./gradlew ktfmtCheck./gradlew detekt./gradlew lintAllContributions from the community are welcome and encouraged!
Easiest ways to contribute are to create and update translations and to create bug reports. Requests for new features are welcome as well. If you want to implement a new feature, please create an issue first if there's some design or planning needed
Weblate is used for translations. If you want to add translations for your language or to update existing translations, you can do that easily from Weblate. If you prefer, you can also update translations via a PR
Note that once you've finished translating a new language, it needs to be enabled in the build configuration. See this commit for an example
(top 30 of 66)
Kotlin
99.5%
New stumbler application for contributing data to geolocation services
See the code
NeoStumbler is an Android application designed for mapping wireless infrastructure for geolocation purposes. It allows users to collect locations of cell towers, Wi-Fi access points and Bluetooth beacons and contribute them to Ichnaea-compatible (i.e. Mozilla Location Services) geolocation services – such as beaconDB.
[!TIP] See the user guide for more details on how to use NeoStumbler
There are three variants available:
You can install NeoStumbler either from an app store or by downloading an APK from Releases page. Versions marked as pre-release are betas or release candidates for the next version of NeoStumbler. These versions should generally be usable, but might have some bugs, UI / UX issues and missing translations.
If you install NeoStumbler directly from an APK, you need to check for updates manually or use a tool such as Obtainium.
The fdroid variant is available from F-Droid or alternatively from IzzyOnDroid. Reproducible builds are used for building NeoStumbler on F-Droid, which means that it's possible to upgrade an existing installation to a newer version from an alternative source.
The full variant is available from Accrescent. The advantage of using Accrescent is that only the assets needed for your device are downloaded.
A modified version of the full variant is also available on Google Play. This version does not include the automatic scanning feature and contains some minor quirks to comply with Google Play policies.
The application has three product flavors:
fdroidDefault - no closed components, features dependent on closed-source components (i.e. Google Play Services) are
not includedfullDefault - includes closed components, no features missingfullGplay - based on fullDefault, but has some minor differences to make it compliant with Google Play
requirements./gradlew assembleAll./gradlew :app:assembleFullDefaultDebug or
./gradlew :app:assembleFdroidDefaultDebug./gradlew :app:assembleFullDefaultRelease or
./gradlew :app:assembleFdroidDefaultRelease
keystore.jks in the project root directory and
setting values for environment variables (see app/build.gradle.kts)signingConfigs block from
app/build.gradle.kts./gradlew unitTest./gradlew androidTest./gradlew ktfmtCheck./gradlew detekt./gradlew lintAllContributions from the community are welcome and encouraged!
Easiest ways to contribute are to create and update translations and to create bug reports. Requests for new features are welcome as well. If you want to implement a new feature, please create an issue first if there's some design or planning needed
Weblate is used for translations. If you want to add translations for your language or to update existing translations, you can do that easily from Weblate. If you prefer, you can also update translations via a PR
Note that once you've finished translating a new language, it needs to be enabled in the build configuration. See this commit for an example
(top 30 of 66)
Kotlin
99.5%