Annotation processing allows generating new Java files at build time from annotations without using reflection. It was introduced in Java 5 and lets you write processors to handle annotations. For Android, the android-apt Gradle plugin is needed to support annotation processing. A processor class extends AbstractProcessor and contains processing logic in the process() method to handle annotations and generate files. Examples generate getters automatically from fields or convert POJOs to strings.