I'm trying Parceler library for android. So far I've had only one same error, using plain sample from the documentation.
@Parcel(Parcel.Serialization.BEAN)
public class Example {
private String name;
private int age;
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int getAge() { return age; }
public void setAge(int age) { this.age = age; }
}
And
Parcelable p = Parcels.wrap(new Example());
Which crashes with
07-30 12:31:46.439: E/AndroidRuntime(4945): FATAL EXCEPTION: main
07-30 12:31:46.439: E/AndroidRuntime(4945): Process: com.sample.app.android.debug, PID: 4945
07-30 12:31:46.439: E/AndroidRuntime(4945): org.parceler.ParcelerRuntimeException: Unable to find generated Parcelable class for com.sample.app.android.entity.Example, verify that your class is configured properly and that the Parcelable class com.sample.app.android.entity.Example$$Parcelable is generated by Parceler.
07-30 12:31:46.439: E/AndroidRuntime(4945): at org.parceler.Parcels$ParcelCodeRepository.get(Parcels.java:201)
07-30 12:31:46.439: E/AndroidRuntime(4945): at org.parceler.Parcels.wrap(Parcels.java:85)
07-30 12:31:46.439: E/AndroidRuntime(4945): at org.parceler.Parcels.wrap(Parcels.java:69)
What do I miss?
It sounds like the annotation processor isn't running or is misconfigured. I'd recommend using the annotationProcessor scope if you're using a Gradle build along with separate scopes for the processor and api libraries:
compile 'org.parceler:parceler-api:1.1.9'
annotationProcessor 'org.parceler:parceler:1.1.9'
See the Getting Parceler section of the website for the latest.
In the newer version, you only have to update the following dependencies in your Gradle file:
compile 'org.parceler:parceler-api:1.1.6'
annotationProcessor 'org.parceler:parceler:1.1.6'
The error is because of annotation. it works by implementing in build.gradle
annotationProcessor 'org.parceler:parceler:1.1.9'
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.