我们什么时候应该使用 android.arch.lifecycle:compiler(或 android.arch.lifecycle:common-java8)?

新手上路,请多包涵

目前,我们在项目中使用 LiveDataViewModelRoom

我们正在使用 Java 8。

我们在 build.gradle 中使用以下内容

// ViewModel and LiveData
implementation "android.arch.lifecycle:extensions:1.1.1"

// Room (use 1.1.0-beta1 for latest beta)
implementation "android.arch.persistence.room:runtime:1.0.0"
annotationProcessor "android.arch.persistence.room:compiler:1.0.0"

我想知道,我们什么时候需要使用

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

(或者 implementation "android.arch.lifecycle:common-java8:1.1.1" 因为我们使用的是 Java 8?!)

目前,我们的代码工作正常,无需使用 lifecycle:compilerlifecycle:common-java8

原文由 Cheok Yan Cheng 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 463
2 个回答

我们什么时候需要使用 annotationProcessor "android.arch.lifecycle:compiler:1.1.1"

AFAIK,仅当您的代码中有与生命周期相关的注释时才需要,特别是 @OnLifecycleEvent

或者实施“android.arch.lifecycle:common-java8:1.1.1”,因为我们使用的是 Java 8?

一样。文档声明“如果您的应用程序使用 Java 8,我们建议使用此库而不是 android.arch.lifecycle:compiler 。”

原文由 CommonsWare 发布,翻译遵循 CC BY-SA 3.0 许可协议

Java 8 的生命周期注释处理器依赖声明应如下所示:

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

代替:

 kapt "androidx.lifecycle:lifecycle-compiler:$lifecycle_version"

原文由 Benny 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题