我遇到一个问题,我的构建无法找到其中一个androidx类,具体来说:
androidx.lifecycle.DefaultLifecycleObserver
这是我的毕业助手:
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中的缓存无效,然后重新启动就没有运气了。以及构建清理以及gradle同步。
我在这里验证了
https://developer.android.com/jetpack/androidx/migrate
该类从支持库到androidx的映射:
android.arch.lifecycle.DefaultLifecycleObserver-> androidx.lifecycle.DefaultLifecycleObserver
为什么会这样?
答案 0 :(得分:3)
我认为那是因为您缺少一个依赖项:
implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"
请参见documentation:
如果您使用Java 8语言,请使用以下命令观察事件 DefaultLifecycleObserver。要包括它,您应该添加 “ android.arch.lifecycle:common-java8:”到您的build.gradle 文件。
答案 1 :(得分:0)
在颤振中
这通常是因为您的项目不完全支持 Android X。请确保您已完全迁移到它,通过检查 official instructions 或者您可以检查是否满足以下要求
在您项目的 android/app/build.gradle
上将 compileSdkVersion
和 targetSdkVersion
更改为 28
转到 android/gradle.properties
文件并添加以下几行:
android.useAndroidX=true
android.enableJetifier=true
如果这些都不起作用,则您可能有一些相互冲突的依赖项或 wrongly migrated to V2 embedded support。要修复它,请执行以下操作:
使用 flutter create
创建一个具有相同名称和依赖项的新应用;
小心地将你的源代码复制到新项目中,只选择需要的文件,特别是在 android
/ 目录中;
构建,此时应该一切正常;