2017-02-22 7 views
0

EDITParceler - Невозможно найти генерироваться Parcelable класс

После чистой и перестроен, классы не создаются


Я получил эту ошибку при попытке использовать 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, и я могу видеть его содержимое.

То мой Gradle:

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

Попытка изменить annotationProcessor к apt причины строить ошибку.

То Рекультивация класс

@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 аннотаций.

Кто-нибудь знает, почему это происходит?

+0

Любой шанс вы ProGuard сконфигурированные в вашей сборке? –

ответ

2

Хотя документация говорит, что вы должны поместить эти строки в 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.

У меня есть класс A с переменной класса B, и я забыл аннотировать класс B. Вот почему изменение с annotationProcessor на apt дает мне ошибку сборки.

+0

О, вы уже используете apt с андроидами андроида? –

+0

@JohnEricksen рад познакомиться с вами :) да, я использую apt вместо annotationProcessor – kristyna

1

В моем случае, я должен удалить эту строку, когда я перехожу от склонный к annotationProcessor

apply plugin: 'com.neenbedankt.android-apt'