2016-12-23 31 views
1

我试图使用AutoValueGsonTypeAdapterFactory但类永远不会生成。这是我的实现。AutoValue Gson扩展未创建AutoValueGsonTypeAdapterFactory

@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方法具有“从未使用”,并且永远不会产生AutoValueGsonTypeAdapterFactory

回答

3

似乎AutoValueGsonTypeAdapterFactory被自动生成,直到0.4.0版中的一个警告。

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

3

AutoValue:由于自动生成解决方案不支持多个模块项目,因此Gson Extension现在需要用@GsonTypeAdapterFactory注解类。

你可以在documentation找到详细的信息。