【问题标题】:androidx.lifecycle.DefaultLifecycleObserver not foundandroidx.lifecycle..DefaultLifecycleObserver 未找到
【发布时间】:2019-09-13 03:04:13
【问题描述】:

我遇到了一个问题,我的构建找不到 androidx 类之一,具体来说:

androidx.lifecycle.DefaultLifecycleObserver

这是我的 gradle 部门:

annotationProcessor "androidx.lifecycle:lifecycle-compiler:2.0.0"
implementation "androidx.lifecycle:lifecycle-runtime:2.0.0"
implementation "androidx.lifecycle:lifecycle-extensions:2.0.0"

我在获取 androidx 类时没有任何其他问题,只有这个。

我试图使 android studio 中的缓存无效并重新启动,但没有成功。还有一个 build clean 和一个 gradle sync。

我在这里验证过:

https://developer.android.com/jetpack/androidx/migrate

该类从支持库到 androidx 的映射:

android.arch.lifecycle.DefaultLifecycleObserver -> androidx.lifecycle.DefaultLifecycleObserver

关于为什么会发生这种情况的任何想法?

【问题讨论】:

    标签: android kotlin androidx


    【解决方案1】:

    在颤振中

    这通常是因为您的项目不完全支持 Android X。请通过检查official instructions 确保您已完全迁移到它,或者您可以检查是否满足以下要求

    1. 在您项目的android/app/build.gradle 上,将compileSdkVersiontargetSdkVersion 更改为28

    2. 转到android/gradle.properties 文件并添加以下行:

      android.useAndroidX=true
      android.enableJetifier=true
      

    如果这些都不起作用,您可能有一些冲突的依赖项或wrongly migrated to V2 embedded support。要修复它,请执行以下操作:

    1. 使用flutter create创建一个具有相同名称和依赖项的新应用;

    2. 小心地将您的源代码复制到新项目中,只挑选所需的文件,特别是在android/ 目录中;

    3. 构建,此时一切都应该没问题;

    【讨论】:

      【解决方案2】:

      我认为那是因为您缺少一个依赖项:

      implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"
      

      获取最新版lifecycle-common-java8here

      documentation

      如果您使用 Java 8 语言,则使用以下命令观察事件 默认生命周期观察者。要包含它,您应该添加 “androidx.lifecycle:lifecycle-common-java8:”到你的 build.gradle 文件。

      【讨论】:

      • 是的!非常感谢。
      猜你喜欢
      • 2022-12-02
      • 2020-08-22
      • 2023-01-14
      • 2020-09-24
      • 2017-01-03
      • 2018-05-03
      • 2014-04-14
      • 1970-01-01
      • 2022-01-10
      相关资源
      最近更新 更多