Skip to main content

Android DevApp v25.11.0

Compatibility

NameVersionImplementation
Compile SDK36compileSdk = q2libs.versions.compileSdk.get()
Target SDK36targetSdk = q2libs.versions.targetSdk.get()
Min SDK29minSdk = q2libs.versions.minSdk.get()
Android Gradle Plugin8.13.0id(q2libs.plugins.android.application)
Kotlin Gradle Plugin2.0.20id(q2libs.plugins.kotlin.android)
Google Services Plugin4.3.15id(q2libs.plugins.google.services)
Kotlin Serialization1.9.0id(q2libs.plugins.kotlin.serialization)

Migration from 25.10.0 to 25.11.0

⚠️ CRITICAL: Required Dependency Change

ACTION REQUIRED: Your DevApp will not work without this change.

As of 25.11.0, the deprecated devapp core middleware library has been removed. You must update your dependency to directly reference the q2 core library.

Required Change in devapp/build.gradle:

// REMOVE THIS (deprecated, will cause build failure)
implementation "com.q2.devapp:core:$q2Version"

// ADD THIS (required for 25.11.0)
implementation "com.q2.app.core:core:$q2Version"

Required Change in your module's build.gradle (NOT app or root build.gradle):

// REMOVE THIS (hardcoded version)
implementation 'com.q2:Q2MobileSDK:1.1.0'

// ADD THIS (required for 25.11.0)
implementation "com.q2:Q2MobileSDK:$q2Version"

As of 25.11.0, the Q2MobileSDK dependency version will now be tied to the q2Version like everything else, so after you make this update, you wont need to worry about it again unless told so in a future release note.

Migration Options:

  1. Manual Update: Apply both dependency changes directly in your devapp/build.gradle and module's build.gradle files
  2. Automatic Update: Pull down the 25.11.0 tag from the devapp repository to get the updated configuration

Failure to make these changes will result in build or runtime failures.


Version Updates

This release includes an upgrade to Android SDK 36 (compileSdk and targetSdk) along with updates to the Android Gradle Plugin and CameraX libraries.

Breaking Changes

SDK Version Upgrade:

  • Compile SDK updated from 35 to 36
  • Target SDK updated from 35 to 36
  • Projects must update to support Android 14 (API 36) requirements

Android Gradle Plugin:

  • Updated from 8.2.2 to 8.13.0
  • Review AGP 8.13.0 release notes for any build configuration changes

Android 16KB Page Size Support

This release ensures compatibility with Google's upcoming 16KB page size requirement for Android evices. Starting in 2025, Google Play will require apps to support devices with 16KB memory page sizes to improve performance and enable future hardware innovations.

Key Compatibility Updates:

  • SDK 36 includes necessary APIs and optimizations for 16KB page size devices
  • All native libraries and dependencies have been validated for 16KB compatibility
  • No additional configuration required - support is automatic with SDK 36

For developers using custom native code (NDK/JNI), ensure your native libraries are built with 16KB page size alignment. Refer to Google's 16KB page size guidance for native library compatibility requirements.

Library Version Changes

Library25.10.0 Version25.11.0 VersionImpact
Compile SDK3536Breaking - Requires API 36 support
Target SDK3536Breaking - Android 14 compatibility
Android Gradle Plugin8.2.28.13.0Major - Build system updates
CameraX Camera21.3.01.5.0Minor - Camera API improvements
CameraX Lifecycle1.3.01.5.0Minor - Lifecycle handling updates
Q2 SDK Interfaces0.3.40.3.5Patch - Minor SDK updates
Navigation2.8.92.8.9No change
Hilt Navigation1.2.01.2.0No change
All other deps--Stable - No additional version changes

Version Catalog

AndroidX Libraries

LibraryVersionImplementation
AndroidX Core KTX1.12.0implementation(q2libs.androidx.core.ktx)
AndroidX AppCompat1.6.1implementation(q2libs.androidx.appcompat)
AndroidX Activity KTX1.8.1implementation(q2libs.androidx.activity.ktx)
AndroidX Legacy Support1.0.0implementation(q2libs.androidx.legacy.support)
AndroidX Constraint Layout2.1.4implementation(q2libs.androidx.constraintlayout)
AndroidX CardView1.0.0implementation(q2libs.androidx.cardview)
AndroidX Local Broadcast Manager1.1.0implementation(q2libs.androidx.localbroadcastmanager)
AndroidX Percent Layout1.0.0implementation(q2libs.androidx.percentlayout)
AndroidX Biometric1.1.0implementation(q2libs.androidx.biometric)
AndroidX RecyclerView1.3.2implementation(q2libs.androidx.recyclerview)
AndroidX WebKit1.8.0implementation(q2libs.androidx.webkit)
AndroidX Media1.6.0implementation(q2libs.androidx.media)
AndroidX Browser1.8.0implementation(q2libs.androidx.browser)
AndroidX Grid Layout1.0.0implementation(q2libs.androidx.gridlayout)
AndroidX Preference1.2.1implementation(q2libs.androidx.preference)
AndroidX Security Crypto1.1.0-beta01implementation(q2libs.androidx.security.crypto)

AndroidX Fragment

LibraryVersionImplementation
AndroidX Fragment1.7.0implementation(q2libs.androidx.fragment)
AndroidX Fragment KTX1.7.0implementation(q2libs.androidx.fragment.ktx)

AndroidX Navigation

LibraryVersionImplementation
AndroidX Navigation Fragment KTX2.7.4implementation(q2libs.androidx.navigation.fragment.ktx)
AndroidX Navigation UI KTX2.7.4implementation(q2libs.androidx.navigation.ui.ktx)
AndroidX Navigation Compose2.8.9implementation(q2libs.androidx.navigation.compose)

AndroidX Lifecycle

LibraryVersionImplementation
AndroidX Lifecycle Runtime KTX2.7.0implementation(q2libs.androidx.lifecycle.runtime.ktx)
AndroidX Lifecycle ViewModel KTX2.7.0implementation(q2libs.androidx.lifecycle.viewmodel.ktx)
AndroidX Lifecycle Process2.7.0implementation(q2libs.androidx.lifecycle.process)
AndroidX Lifecycle Compiler2.7.0kapt(q2libs.androidx.lifecycle.compiler)
AndroidX Lifecycle Extensions2.2.0 (Deprecated)implementation(q2libs.androidx.lifecycle.extensions)
AndroidX Lifecycle ViewModel Compose2.7.0implementation(q2libs.androidx.lifecycle.viewmodel.compose)

AndroidX Room

LibraryVersionImplementation
Room Runtime2.6.0implementation(q2libs.androidx.room.runtime)
Room Compiler2.6.0kapt(q2libs.androidx.room.compiler)
Room KTX2.6.0implementation(q2libs.androidx.room.ktx)

AndroidX CameraX

LibraryVersionImplementation
CameraX Camera21.5.0implementation(q2libs.androidx.camera.camera2)
CameraX Lifecycle1.5.0implementation(q2libs.androidx.camera.lifecycle)
Camera View1.0.0-alpha22implementation(q2libs.androidx.camera.view)

AndroidX Compose

LibraryVersionImplementation
Compose BOM2024.09.02implementation(platform(q2libs.androidx.compose.bom))
Compose Foundation-implementation(q2libs.androidx.compose.foundation)
Compose UI-implementation(q2libs.androidx.compose.ui)
Compose UI Graphics-implementation(q2libs.androix.compose.ui.graphics)
Compose UI Tooling-implementation(q2libs.androix.compose.ui.tooling)
Compose UI Tooling Preview-implementation(q2libs.androix.compose.ui.tooling.preview)
Compose UI Test Manifest-implementation(q2libs.androix.compose.ui.test.manifest)
Compose UI Test JUnit4-implementation(q2libs.androix.compose.ui.test.junit4)
Compose Runtime LiveData-implementation(q2libs.androidx.compose.runtime.livedata)
Material3-implementation(q2libs.material3)
Material3 Adaptive-implementation(q2libs.androidx.compose.material3.adpative)
Activity Compose1.8.2implementation(q2libs.activity.compose)

Google Libraries

LibraryVersionImplementation
Material1.10.0implementation(q2libs.google.material)
GSON2.10.1implementation(q2libs.google.gson)
Play Services Vision20.1.3 (Deprecated)implementation(q2libs.google.play.services.vision)
ZXing Core3.5.1implementation(q2libs.google.zxing.core)

Firebase

LibraryVersionImplementation
Firebase Messaging23.3.0implementation(q2libs.google.firebase.messaging)
Firebase Messaging KTX23.3.0implementation(q2libs.google.firebase.messaging.ktx)
Firebase Instance ID21.1.0implementation(q2libs.google.firebase.iid)
Firebase Core21.1.1implementation(q2libs.google.firebase.core)
Firebase Crashlytics Build Tools2.9.9implementation(q2libs.google.firebase.crashlytics.buildtools)

Kotlin & Jetbrains

LibraryVersionImplementation
Kotlinx Coroutines1.7.3implementation(q2libs.jetbrains.kotlinx.coroutines)
Jetbrains Annotations20.1.0implementation(q2libs.jetbrains.annotations)

Networking

LibraryVersionImplementation
Retrofit22.9.0implementation(q2libs.retrofit2.retrofit)
Retrofit2 Converter GSON2.9.0implementation(q2libs.retrofit2.converter.gson)
Retrofit2 RxJava Adapter2.1.0implementation(q2libs.retrofit2.adapter.rxjava)
OkHttp34.10.0implementation(q2libs.okhttp3.okhttp)
OkHttp3 Logging Interceptor4.10.0implementation(q2libs.okhttp3.logging.interceptor)
RxAndroid1.2.0implementation(q2libs.reactivex.rxandroid)

Dependency Injection

LibraryVersionImplementation
Dagger2.52implementation(q2libs.dagger)
Dagger Compiler2.52kapt(q2libs.dagger.compiler)
Hilt2.52implementation(q2libs.hilt)
Hilt Compiler2.52kapt(q2libs.hilt.compiler)
Hilt Navigation Compose1.2.0implementation(q2libs.androidx.hilt.navigation.compose)
Glassfish Annotation10.0-b28implementation(q2libs.glassfish.annotation)

Dependency Injection (Koin)

LibraryVersionImplementation
Koin Android3.4.3implementation(q2libs.koin.android)
Koin Core3.4.3implementation(q2libs.koin.core)
Koin AndroidX Compose3.5.0implementation(q2libs.koin.androidx.compose)

Third-Party Libraries

LibraryVersionImplementation
EventBus3.3.1implementation(q2libs.eventbus)
EventBus Processor3.3.1kapt(q2libs.eventbus.processor)
Commons IO2.6implementation(q2libs.commons.io)
Picasso2.8implementation(q2libs.picasso)
Coil2.7.0implementation(q2libs.coil)
Timber5.0.1implementation(q2libs.timber)
Apache Commons Imaging1.0-alpha2implementation(q2libs.apache.commons.imaging)

Q2 SDK Components

LibraryVersionImplementation
Q2 SDK Interfaces0.3.5implementation(q2libs.q2.sdk.interfaces)
Q2 UI Components0.1.1implementation(q2libs.q2.ui.components)

Plugin Declarations

PluginIDImplementation
Android Applicationcom.android.applicationid(q2libs.plugins.android.application)
Android Librarycom.android.libraryid(q2libs.plugins.android.library)
Kotlin Androidorg.jetbrains.kotlin.androidid(q2libs.plugins.kotlin.android)
Kotlin Kaptorg.jetbrains.kotlin.kaptid(q2libs.plugins.kotlin.kapt)
Compose Compilerorg.jetbrains.kotlin.plugin.composeid(q2libs.plugins.compose.compiler)
Hiltcom.google.dagger.hilt.androidid(q2libs.plugins.hilt)
Kotlin Parcelizeorg.jetbrains.kotlin.plugin.parcelizeid(q2libs.plugins.kotlin.parcelize)
Google Servicescom.google.gms.google-servicesid(q2libs.plugins.google.services)
Artifactorycom.jfrog.artifactoryid(q2libs.plugins.artifactory)
Kotlin Serializationorg.jetbrains.kotlin.plugin.serializationid(q2libs.plugins.kotlin.serialization)

Library Bundles

BundleLibrariesImplementation
Daggerdagger, glassfish-annotationimplementation(q2libs.bundles.dagger)
Retrofit2retrofit2-retrofit, retrofit2-converter-gsonimplementation(q2libs.bundles.retrofit2)
Koinkoin-android, koin-core, koin-androidx-composeimplementation(q2libs.bundles.koin)