最近在学习使用Jetpack中的LifeCycle组件,跟着教程导入androidx.lifecycle:lifecycle-extensions时发现Android Studio报如下警告:
Failed to resolve: androidx.lifecycle:lifecycle-extensions:2.2.0
Add Google Maven repository and sync project
Show in Project Structure dialog
Affected Modules: app
一开始以为是网络问题,后来发现不是,然后度娘五分钟,无果。于是去官方文档翻了翻,发现自2020年1月22日发布的2.2.0版本后,该API被废弃,之后需要哪个就添加对应的扩展。如下:
(Android中文文档浓浓的机翻味啊)
- 废弃
lifecycle-extensions制品:随着上方所述的ViewModelProviders.of()废弃,此版本标志着废弃了lifecycle-extensions中的最后一个 API,因此现在该制品已完全被废弃。我们强烈建议依赖于您需要的特定 Lifecycle 制品(例如,如果您使用的是LifecycleService,则依赖于lifecycle-service;如果您使用的是ProcessLifecycleOwner,则依赖于lifecycle-process)而不是lifecycle-extensions,因为将来不会有lifecycle-extensions的2.3.0版本。 lifecycle-extensions中的 API 已废弃。您可以改而为您需要的具体 Lifecycle 工件添加依赖项:
dependencies {
val lifecycle_version = "2.5.1"
val arch_version = "2.1.0"
// ViewModel
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version")
// ViewModel utilities for Compose
implementation("androidx.lifecycle:lifecycle-viewmodel-compose:$lifecycle_version")
// LiveData
implementation("androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version")
// Lifecycles only (without ViewModel or LiveData)
implementation("androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version")
// Saved state module for ViewModel
implementation("androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycle_version")
// Annotation processor
kapt("androidx.lifecycle:lifecycle-compiler:$lifecycle_version")
// alternately - if using Java8, use the following instead of lifecycle-compiler
implementation("androidx.lifecycle:lifecycle-common-java8:$lifecycle_version")
// optional - helpers for implementing LifecycleOwner in a Service
implementation("androidx.lifecycle:lifecycle-service:$lifecycle_version")
// optional - ProcessLifecycleOwner provides a lifecycle for the whole application process
implementation("androidx.lifecycle:lifecycle-process:$lifecycle_version")
// optional - ReactiveStreams support for LiveData
implementation("androidx.lifecycle:lifecycle-reactivestreams-ktx:$lifecycle_version")
// optional - Test helpers for LiveData
testImplementation("androidx.arch.core:core-testing:$arch_version")
// optional - Test helpers for Lifecycle runtime
testImplementation ("androidx.lifecycle:lifecycle-runtime-testing:$lifecycle_version")
}
所以把 implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' 直接删了吧
附带官方文档链接:developer.android.google.cn/jetpack/and…