Parceler - 无法找到生成的 Parcelable class

Parceler - Unable to find generated Parcelable class

编辑

清理重建后,classes没有生成


我在尝试使用 Parcels.wrap()

时遇到此错误
Unable to find generated Parcelable class for xyz.xyz.models.reclamation.Reclamation, verify that your class is configured properly and that the Parcelable class xyz.xyz.models.reclamation.Reclamation$$Parcelable is generated by Parceler.

但是 Reclamation$$Parcelable class 已经创建了,我可以看到它的内容。

那是我的 gradle:

compile 'org.parceler:parceler-api:1.1.6'
annotationProcessor 'org.parceler:parceler:1.1.6'

尝试将 annotationProcessor 更改为 apt 会导致构建错误。

那就是开垦class

@Parcel
public class Reclamation {

public Reclamation() {
}

private int reclamationProductID;

private Integer preference;

private String takingDate1;

private String takingDate2;

private int takingAddressID;

private String takingAddressStreet;

private String takingAddressCity;

private String takingAddressZipCode;

private int type;

private String takingAddressCompany;
// + getters setters
}

那是它崩溃的地方

ServiceStepFour_.builder().arg(Constants.ARG_RECLAMATION, Parcels.wrap(reclamation)).build();

我将它与 Android 注释结合使用。

有人知道为什么会这样吗?

尽管文档说您必须将这些行添加到 gradle:

compile 'org.parceler:parceler-api:1.1.6'
annotationProcessor 'org.parceler:parceler:1.1.6'

改为:

compile 'org.parceler:parceler-api:1.1.6'
apt 'org.parceler:parceler:1.1.6'

确保您要使用的所有文件都带有 @Parcel 注释。

我有 class A 和 class B 变量,我忘了注释 class B。这就是为什么从 annotationProcessor 更改为 apt 给了我构建错误。

在我的例子中,当我从 apt 移动到 annotationProcessor

时,我必须 删除 这一行
apply plugin: 'com.neenbedankt.android-apt'