Downloads¶
The RoadSave Android SDK is distributed as a single AAR that covers both Google Mobile Services (GMS) and Huawei Mobile Services (HMS) devices.
Latest release¶
Download from the GitHub Releases page:
| File | Purpose |
|---|---|
roadsave-sdk-<version>.aar |
SDK binary (drop into libs/) |
roadsave-sdk-<version>.aar.sha256 |
SHA-256 checksum |
roadsave-sdk-<version>-sources.jar |
Source attachment for IDE navigation |
roadsave-sdk-<version>-javadoc.jar |
Javadoc/KDoc JAR |
Installation¶
1. Download and verify¶
# Download (replace <version> with the release you want)
curl -fLO https://github.com/Dynamus-Technologies/roadsave-android-sdk/releases/download/<version>/roadsave-sdk-<version>.aar
curl -fLO https://github.com/Dynamus-Technologies/roadsave-android-sdk/releases/download/<version>/roadsave-sdk-<version>.aar.sha256
# Verify checksum
shasum -a 256 -c roadsave-sdk-<version>.aar.sha256
2. Drop the AAR into your app¶
Place roadsave-sdk-<version>.aar in your app module's libs/ directory (create it if needed).
3. Declare the AAR and its runtime dependencies¶
The AAR bundles the GMS/HMS abstraction layer. The GMS and HMS service libraries themselves
are compileOnly inside the SDK and must be declared by your app so the correct runtime
implementation is resolved per device type.
// settings.gradle — add Huawei repo if targeting HMS devices
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
maven { url 'https://developer.huawei.com/repo/' }
}
}
// app/build.gradle (or your SDK-consuming module)
dependencies {
implementation files('libs/roadsave-sdk-<version>.aar')
// Networking
implementation 'com.squareup.okhttp3:okhttp:4.12.0'
// Coroutines
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.9.0'
// AndroidX
implementation 'androidx.appcompat:appcompat:1.7.0'
implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.1.0'
// Google Mobile Services (required on devices with Google Play Services)
implementation 'com.google.android.gms:play-services-location:21.1.0'
implementation 'com.google.android.gms:play-services-base:18.5.0'
implementation 'com.google.android.gms:play-services-basement:18.4.0'
// Huawei Mobile Services (required on Huawei devices without GMS)
implementation 'com.huawei.agconnect:agconnect-core:1.9.5.300'
implementation 'com.huawei.hms:base:6.5.0.300'
implementation 'com.huawei.hms:maps:5.3.0.300'
implementation 'com.huawei.hms:location:6.4.0.300'
}
For full integration steps (manifest entries, permissions, runtime initialisation, GMS/HMS detection):
GMS vs. HMS — single AAR, two runtimes¶
The SDK uses the xmsadapter abstraction layer (bundled inside the AAR) to dispatch
location and sensor calls to whichever platform service is available at runtime:
- On devices with Google Play Services → GMS path (
play-services-locationetc.). - On Huawei devices without GMS → HMS path (
hms:locationetc.).
You do not need separate builds for GMS and HMS. See GMS vs. HMS for details.