AutoValue Gson 扩展不创建 AutoValueGsonTypeAdapterFactory

AutoValue Gson Extension not creating AutoValueGsonTypeAdapterFactory

我正在尝试使用 AutoValueGsonTypeAdapterFactory,但从未生成 class。这是我的实现。

@AutoValue
public abstract class Foo {
    public abstract String bar();
    @SerializedName("Baz") abstract String baz();
    public abstract int quux();
    public static TypeAdapter<Foo> typeAdapter(Gson gson) {
        return new AutoValue_Foo.GsonTypeAdapter(gson);
   }
}

//Gson
compile "com.google.code.gson:gson:2.8.0"
//AutoValue
apt "com.google.auto.value:auto-value:1.3"
apt "com.ryanharter.auto.value:auto-value-gson:0.4.5"
provided "com.ryanharter.auto.value:auto-value-gson:0.4.5"

typeAdapter 方法有一个警告 "never used" 并且从不生成 AutoValueGsonTypeAdapterFactory

似乎 AutoValueGsonTypeAdapterFactory 在版本 0.4.0 之前是自动生成的。

现在建议的方法是为所有用 @GsonTypeAdapterFactory 注释的 auto-value-gson 类 创建 TypeAdapterFactory 的单一实现。阅读 auto-value-gson 文档。

AutoValue:Gson 扩展现在要求您使用 @GsonTypeAdapterFactory 注释 class,因为自动生成解决方案不支持多个模块项目。

您可以在 documentation 中找到详细信息。