Home > Back-end >  Androidx Activity API belongs to which dependency?
Androidx Activity API belongs to which dependency?

Time:09-21

This documentation shows how to add dependencies for Androidx Activity API. There it mentions androidx.activity:activity-ktx:$activity_version to be declared. In my project, only Androidx dependencies that I have declared are appcompat, core, lifecycle, constraintlayout and recyclerview. But still in my project I am able to use androidx.activity.result.contracts.ActivityResultContracts. How is this possible?

EDIT: I commented out all 3rd party dependencies and now, my entire dependencies section is as follows:

dependencies {
    implementation(fileTree(mapOf("include" to listOf("*.jar"), "dir" to "libs")))

    testImplementation("junit:junit:4.13.2")
    androidTestImplementation("androidx.test:runner:1.4.0")
    androidTestImplementation("androidx.test.espresso:espresso-core:3.4.0")

    // Materials design
    implementation("com.google.android.material:material:1.4.0")

    implementation("androidx.appcompat:appcompat:1.3.1")
    implementation("androidx.core:core-ktx:1.6.0")

    implementation("androidx.recyclerview:recyclerview:1.2.1")
    implementation("androidx.constraintlayout:constraintlayout:2.1.0")

    val lifecycleVersion = "2.4.0-alpha03"
    implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycleVersion")
    implementation("androidx.lifecycle:lifecycle-runtime-ktx:$lifecycleVersion")
}

Still I am able to import any androidx.* library in my project.

CodePudding user response:

androidx.appcompat:appcompat:1.3.1 depends on androidx.activity:activity:1.2.4.

So your implementation("androidx.appcompat:appcompat:1.3.1") line pulls in androidx.activity:activity:1.2.4 via the transitive dependency.

  • Related