Android Installation Guide
Zello’s Android SDK is a fully-native set of libraries that provides APIs for connecting with Zello servers, enabling tasks such as authentication and message sending. You can add the SDK to your project using Gradle, similar to how you would add other libraries. However, you will also need to add a Zello-hosted Maven repository to access the compiled code.
Prerequisites:
An Android build environment that includes Gradle.
Hilt dependency injection, which is required for the SDK to properly initialize.
Android SDK 24+
Adding Zello SDK to your project:
Add the Zello-hosted repository that contains our SDK to the section where your Gradle configuration defines repositories.
For example, your top-level build.gradle.kts file may contain this block:
allProjects {
repositories {
google()
mavenCentral()
maven {
url = uri("https://zello-sdk.s3.amazonaws.com/android/latest")
content {
includeGroup("com.zello")
}
}
// Other repos
}
}
We recommend using the google and mavenCentral repositories to load the transitive dependencies required by the Zello SDK. However, as long as your set of repositories includes all of Zello’s necessary dependencies, the SDK will run. The full list can be found below.
In your module-level or app-level build.gradle.kts
, include the following:
// Set this to the lastest version
def zelloSdkVersion = "1.0.1"
dependencies {
implementation("com.zello:sdk:$zelloSdkVersion")
implementation("com.zello:core:$zelloSdkVersion") {
exclude(module = "unspecified")
}
implementation("com.zello:zello:$zelloSdkVersion")
// Firebase Messaging is used for push notifications and is a compile-time dependency
// used when generating dependency injectors
implementation(platform("com.google.firebase:firebase-bom:32.8.0"))
implementation("com.google.firebase:firebase-messaging")
// Other project dependencies
}
NOTE: The exclude(module = "unspecified") call is needed to account for an issue with a transitive dependency. This will be resolved in a future version of the SDK
NOTE: This step step should not be necessary for React Native integrations
Transitive Dependencies:
The latest version of the Zello SDK includes the following dependencies transitively which must be resolved in order to prevent errors.
com.pixplicity.sharp:sharp
org.jetbrains.kotlin:kotlin-reflect
org.jetbrains.kotlinx:kotlinx-coroutines-core
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm
org.jetbrains.kotlinx:kotlinx-coroutines-android
com.squareup.moshi:moshi
com.squareup.moshi:moshi-kotlin
com.squareup.moshi:moshi-adapters
com.squareup:javapoet
androidx.constraintlayout:constraintlayout
androidx.constraintlayout:constraintlayout-solver
androidx.lifecycle:lifecycle-viewmodel-savedstate
androidx.lifecycle:lifecycle-viewmodel-ktx
androidx.lifecycle:lifecycle-common
androidx.lifecycle:lifecycle-livedata-ktx
androidx.navigation:navigation-fragment-ktx
androidx.navigation:navigation-ui-ktx
androidx.webkit:webkit
androidx.viewpager2:viewpager
androidx.appcompat:appcompat
androidx.appcompat:appcompat-resources
androidx.core:core-splashscreen
androidx.core:core-ktx
androidx.media:media
androidx.annotation:annotation
com.google.android.material:material
com.android.billingclient:billing-ktx
io.reactivex.rxjava3:rxjava
io.reactivex.rxjava3:rxandroid
io.reactivex.rxjava3:rxkotlin
androidx.activity:activity-compose
androidx.compose.ui:ui
androidx.compose.material:material
androidx.compose.ui:ui-graphics
androidx.compose.ui:ui-tooling
androidx.compose.ui:ui-tooling-preview
androidx.compose.runtime:runtime-livedata
androidx.constraintlayout:constraintlayout-compose
com.github.skydoves:balloon
androidx.browser:browser
androidx.legacy:legacy-support-v4
androidx.compose.material3:material3
com.google.android.gms:play-services-maps
com.google.android.gms:play-services-location
com.google.zxing:core
com.airbnb.android:lottie
com.drewnoakes:metadata-extractor
commons-validator:commons-validator
androidx.work:work-runtime-ktx
androidx.hilt:hilt-work
Last updated