Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Could not resolve android.arch.lifecycle:extensions:1.1.0

I am trying to add lifecycle:extensions to my project but i can not make it work . Each time it shows error .

Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve android.arch.lifecycle:extensions:1.1.0.

I have already read several threads but could not make it work by the answers given there. Project level gradle is:

buildscript {
repositories {
   google()
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.1.2'
}
}

allprojects {
repositories {
    google()
    maven { url 'https://maven.google.com' }
    jcenter()
    mavenCentral()
    flatDir {
        dirs 'libs'
    }
}
}

task clean(type: Delete) {
delete rootProject.buildDir
}

And build.gradle is :

implementation "android.arch.lifecycle:extensions:1.1.0"
annotationProcessor "android.arch.lifecycle:compiler:1.1.0"

How can i make it work? I am on Android Studio 3.1.2 . I also tried to import some github samples but same error occurred each time . Now its been 7 hours i have been busting my head on this.

like image 262
Diaz diaz Avatar asked Sep 13 '18 10:09

Diaz diaz


2 Answers

You already added google() in the Build.gradle so, try adding the latest version:

implementation "android.arch.lifecycle:extensions:1.1.1"
annotationProcessor "android.arch.lifecycle:compiler:1.1.1"

Also, go to:

File -> Settings -> Build, Execution, Deployment -> Build tools -> Gradle

And uncheck the option if it is checked to download from repository.


In case it didn't help, updating gradle to the latest version will help:

dependencies {
    classpath 'com.android.tools.build:gradle:3.1.4'
}
like image 131
ʍѳђઽ૯ท Avatar answered Nov 16 '22 20:11

ʍѳђઽ૯ท


I faced and fortunately solved this problem.

The solution is: You should open the firebase_database flutter plugin's build.gradle (project root >> Flutter Plugins >> firebase_database-3.1.0 >> android >> build.gradle) and you should change the last same lines according to the following:

from: `

if (!containsEmbeddingDependencies) {
  android {
    dependencies {
      def lifecycle_version = "1.1.1"
      compileOnly "android.arch.lifecycle:runtime:$lifecycle_version"
      compileOnly "android.arch.lifecycle:common:$lifecycle_version"
      compileOnly "android.arch.lifecycle:common-java8:$lifecycle_version"
    }
  }
}

`

to: `

if (!containsEmbeddingDependencies) {
  android {
    dependencies {
      def lifecycle_version = "2.1.0"
      api "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"
      api "androidx.lifecycle:lifecycle-runtime:$lifecycle_version"
    }
  }
}

`

I found this solution according to a TODO in the plugin's code and it refers to a github issue: https://gist.github.com/blasten/78e97b1d97a736d7e8dcc3f520cea3f0

It works perfectly for me and solves the exact same issue above.

Cheers

like image 26
Guba Krisztián Avatar answered Nov 16 '22 18:11

Guba Krisztián