Troubleshoot Android SDK
Gradle dependency conflict errors in installation
The HyperTrack SDK includes following dependencies:
|Google Play Services libraries||10.2.0||This includes
|Firebase Messaging library||10.2.0||For FCM support|
|Android v7 support||25.3.1||For PlaceSelector widget: this includes
|Android Volley library||1.0.0||For HTTP networking|
|Eclipse Paho and MQTT library||1.1.1||For MQTT networking|
|Gson library||2.4||For data serialization and deserialization|
|smart-scheduler||0.0.7||For job scheduling|
The latest version of these libraries will be automatically included as transitive dependencies. To exclude transitive dependencies to resolve version conflicts, you can exclude the transitive dependencies from the SDK dependency by specifying
transitive = false and including all the above mentioned dependencies separately. Once you have, clear your Gradle cache and sync your project.
Persistent SDK notification
Why is this required?
By default, HyperTrack runs as a service in the background to collect data. However, background services can be killed and restarted by the OS. The OS may do this when it needs to allocate memory to other tasks (for example, to display a large page in the browser) or to conserve battery. The OS will then restart the HyperTrack service automatically when resources are available again.
This killing and restarting by the OS often results in patches with missing data. To get higher fidelity tracking with HyperTrack, it is recommended that you use HyperTrack as a foreground service. This is also the default option.
Android O is coming up with restrictions on background updates which will also need for HyperTrack SDKs to run as a foreground service for location limits.
You can customize this notification by following our customize guide.
Disabling persistent notification
If your app is a consumer app and you want the location tracking to happen silently, then you may want to disable the notification. It can be done by calling
HyperTrack.disablePersistentNotification(true). You need to call this only once on a device. This setting is purged only if the app is deleted. By default, persistent notification is enabled when the sdk is integrated. Note that location tracking will be still useful though less reliable if the notification is disabled.