gpt4 book ai didi

android - Proguard 与 Autovalue

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:00:42 25 4
gpt4 key购买 nike

我刚开始使用 AutoValue,但我无法让它与混淆器一起使用。我有大约 6000 多个这样的警告

Warning:autovalue.shaded.com.google.common.auto.common.MoreElements$1: can't find superclass or interface javax.lang.model.util.SimpleElementVisitor6

实际错误显示了这一点......

Error:Execution failed for task ':transformClassesAndResourcesWithProguardForDebug'. java.io.IOException: Please correct the above warnings first.

我该如何解决这个问题?

最佳答案

修复

发生这种情况是因为您已将库添加为项目的 compile 依赖项。像这样:

dependencies {
compile 'com.google.auto.value:auto-value:1.2'
}

您需要使库成为提供的依赖项:

dependencies {
provided 'com.google.auto.value:auto-value:1.2'
}

注意:提供的 配置由 Android Gradle 插件提供。如果您在纯 Java 库模块中使用 AutoValue,请使用 compileOnly配置,在 Gradle 2.12 中添加。

解释

AutoValue 是一个为您生成代码的库。您与库本身的唯一交互应该通过 @AutoValue 注释,这些注释具有 RetentionPolicy.SOURCE - 即它们仅在您的源代码中可用,在编译代码中不可用。

这意味着您编译的代码与 AutoValue 库代码没有任何联系。因此,它不需要与您的代码一起编译 - 这是 ProGuard 运行的代码。

关于android - Proguard 与 Autovalue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36428868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com