I would like to do some annotation processing based on the example in the following link: http://www.zdnetasia.com/writing-and-processing-custom-annotations-part-3-39362483.htm.
However, I would like to implement this in my Android project, and it seems I cannot use the package with the android platform. Do I need to add an external jar or is there something I'm missing?
Thanks.
The javax.annotation.processing
package is not included in Android, but the Android VM team describes how to include extra javax
packages here - it might be applicable to your question.
The javax.annotation.processing package is not included in Android. You don't need to include this inside your compiled app module. You just need this dependency for your compiler/processor module during build time. Therefore, inside your app's build.gradle
you should add the following after including your annotation processor:
provided 'org.glassfish:javax.annotation:10.0-b28'
There is a much easier way if you use Android Studio / Gradle.
I found the following looking through the answers of the question How do I add javax.annotation.Generated to Java SE 5?:
For a Gradle build the dependency should be
compile 'org.glassfish:javax.annotation:10.0-b28'
Simply adding compile 'javax.annotation:javax.annotation-api:1.2' should do the trick.
see here for all available versions: https://mvnrepository.com/artifact/javax.annotation/javax.annotation-api
compileOnly 'org.glassfish:javax.annotation:10.0-b28'
I find a method in butterknife. Add this in build.gradle
:
compile files(org.gradle.internal.jvm.Jvm.current().getJre().homeDir.getAbsolutePath()+'/lib/rt.jar')
来源:https://stackoverflow.com/questions/9650808/android-javax-annotation-processing-package-missing