1

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 は生成されません

4

2 に答える 2

4

AutoValueGsonTypeAdapterFactoryバージョン 0.4.0 までは自動生成されているようです。

ここで推奨されるアプローチは、 で注釈が付けられTypeAdapterFactoryたすべてのクラスに対しての単一の実装を作成することです。ドキュメントを読んでください。auto-value-gson@GsonTypeAdapterFactoryauto-value-gson

于 2016-12-24T00:29:21.380 に答える
3

AutoValue: Gson 拡張機能では@GsonTypeAdapterFactory、自動生成ソリューションが複数のモジュール プロジェクトをサポートしていないため、クラスに注釈を付ける必要があります。

詳細については、ドキュメントを参照してください。

于 2016-12-24T02:08:14.530 に答える