无法解析android.arch.lifecycle:extensions:1.1.0

时间:2018-09-13 10:06:06

标签: android android-gradle build.gradle android-architecture-components

我正在尝试将lifecycle:extensions添加到我的项目中,但无法使其正常工作。每次显示错误。

  

无法解析':app @ debug / compileClasspath'的依赖关系:无法解析android.arch.lifecycle:extensions:1.1.0。

我已经阅读了多个线程,但无法通过此处给出的答案使其起作用。 项目级别的收益是:

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
}

build.gradle是:

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

我如何使其起作用?我在Android Studio 3.1.2上。我也尝试导入一些github示例,但是每次都发生相同的错误。现在已经7个小时了,我一直在努力解决这个问题。

3 个答案:

答案 0 :(得分:0)

我添加了这些:

 implementation 'androidx.legacy:legacy-support-v4:1.0.0'
 implementation 'androidx.media:media:1.1.0'

有时您可以新建一个项目,然后进行比较。

答案 1 :(得分:0)

我面对并幸运地解决了这个问题。

解决方案是: 您应该打开firebase_database flutter插件的build.gradle (项目根目录>> Flutter插件>> firebase_database-3.1.0 >> android >> build.gradle),您应该根据以下内容更改最后几行:

来自: `

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"
    }
  }
}

`

至: `

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"
    }
  }
}

`

我根据插件代码中的TODO找到了此解决方案,它涉及到github问题:https://gist.github.com/blasten/78e97b1d97a736d7e8dcc3f520cea3f0

它对我来说非常理想,并且可以解决上述完全相同的问题。

欢呼

答案 2 :(得分:0)

您正在使用androidx工件,因此,根据迁移到AndroidX文档,以前在android.arch.lifecycle中的类现在在androidx.lifecycle中。