我有一个 Android 项目,它使用 Autovalue 来生成它的一些模型。我正在尝试从旧的 com.android.support.*
转移到新的 androidx.*
依赖项。
我知道在 Android Gradle Plugin 3.2+ 中它会尝试替换所有出现的旧支持依赖项,但这似乎并没有扩展到由 Autovalue 生成的接口(interface)。这些接口(interface)仍然引用 android.support.annotation.NonNull
和 android.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
我对这些注释处理器的经验很少,如果有任何其他可能相关的信息,请告诉我。
感谢您的建议。
最佳答案
检查您的 gradle.properties 文件是否包含 migration guide 中建议的这些参数这将允许 Android 构建系统为您迁移尚未迁移到 AndroidX 命名空间的 Maven 依赖项:
android.useAndroidX=true
android.enableJetifier=true
另外,user guide对于 AutoValue,建议对 Android 项目使用“api”而不是“implementation/compile”。
关于AndroidX, Autovalue support.annotations 错误的依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54465113/