Parceler - невозможно найти сгенерированный класс 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
вызывает ошибку сборки.
Thats Reclamation класс
@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.
Кто-нибудь знает, почему это происходит?
3 ответа
Хотя документация говорит, что вы должны поместить эти строки в 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
дает мне ошибку сборки.
Я знаю, что это поздний ответ, но, возможно, у кого-то еще возникнет эта проблема позже,
Если вы используетеKotlin
в вашем коде вы должны использоватьkapt
вместоannotationProcessor
решить проблему
apply plugin: 'kotlin-kapt'
dependencies {
kapt 'org.parceler:parceler:1.1.12'
}
В моем случае я должен удалить эту строку при переходе от apt к annotationProcessor
apply plugin: 'com.neenbedankt.android-apt'