【问题标题】:AndroidX, Autovalue support.annotations wrong depedencyAndroidX,Autovalue support.annotations 错误依赖
【发布时间】:2019-01-31 16:31:07
【问题描述】:

我有一个 Android 项目,它使用 Autovalue 来生成它的一些模型。我正在尝试从旧的 com.android.support.* 迁移到新的 androidx.* 依赖项。

我知道在 Android Gradle Plugin 3.2+ 中它会尝试替换所有出现的旧支持依赖项,但这似乎并没有扩展到由 Autovalue 生成的接口。这些接口仍然引用android.support.annotation.NonNullandroid.support.annotation.Nullable,而不是androidx.annotation.*

'com.android.tools.build:gradle:3.2.1'

implementation "com.google.auto.value:auto-value-annotations:1.6.2"
annotationProcessor "com.google.auto.value:auto-value:1.6.2"

androidx version - 1.0.0

我对这些注释处理器的经验很少,如果有任何其他可能相关的信息,请告诉我。

感谢您的建议。

【问题讨论】:

    标签: android gradle auto-value


    【解决方案1】:

    检查您的 gradle.properties 文件是否包含migration guide 中建议的这些参数,这将允许 Android 构建系统为您迁移尚未迁移到 AndroidX 命名空间的 Maven 依赖项:

    android.useAndroidX=true
    android.enableJetifier=true
    

    此外,AutoValue 的 user guide 建议对 Android 项目使用“api”而不是“implementation/compile”。

    【讨论】:

    • 我已经尝试了您上面列出的设置,但它们没有解决问题,似乎它们是在生成自动值类之前应用的,或者它忽略了这些类。感谢您指出api 问题,我会尝试并回复您。
    • 不幸的是,使用 api 并没有改变任何东西。生成的依赖还在使用 android.support.annotation
    猜你喜欢
    • 2019-01-24
    • 2021-08-29
    • 2019-03-02
    • 2021-10-28
    • 1970-01-01
    • 2020-12-29
    • 2014-12-13
    • 1970-01-01
    • 2020-02-28
    相关资源
    最近更新 更多