What's next for android-apt?

Spoiler and short answer: nothing!

A bit of history

I created android-apt almost three years ago then I switched from Eclipse to the brand new announced Android Studio IDE.

In my projects I was using a couple of annotation processors that I wrote, but there was a problem: the code generated by these processors was intended to be referenced from my own, handwritten, code and that didn’t work in Android Studio.

Long story short: after mucking around with Gradle scripts for a while, I created android-apt and released it as open source. Over time, with annotation processors becoming more popular, many Android developers today are using android-apt to make their favorite processors play nice in their Android projects.

The future

As of version 2.2 of the Android Gradle plugin, most commonly used functionality that is in android-apt is now included in that plugin. This was announced at I/O as annotation support for jack, but it works for non-jack projects as well. This means that if you are migrating to this new plugin (Android Studio will ask you to), there’s not much reason to keep using android-apt anymore. That doesn’t mean that you have to switch now, but it might be a good time to at least try it to see if everything is working and file bugs if it’s not.

I’ve written a short page on migrating from android-apt and apt to annotationProcessor (and related) in the Android Gradle plugin. I’ll try to collect any known issues / differences on that page as well. If you find one, let me know!

Present

Currently android-apt works fine with version 2.2 of the Android Gradle plugin, but it doesn’t work with jack. If you need jack support you’ll need to use the official annotation support options.

Now that it’s functionality is in the main Android tools, there will probably won’t be any more updates on android-apt going forward. That might sound a bit sad, but it’s actually a good thing.

Yay for official annotation processor support in the Android tools! :)



Questions, remarks or other feedback? Discuss this post on Google+