-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NPE when using @AutoValue in an Android project #240
Comments
Thanks for the report! The issue appears to be the missing class javax.annotation.Generated. That's a Java 6 class that is not available in all Android environments. We could change the AutoValueProcessor code to tolerate its absence, or perhaps express a dependency from auto-value:1.x to something that defines javax.annotation.Generated. |
Adding compile 'javax.annotation:javax.annotation-api:1.2' to your Android project dependencies should fix the issue. |
Could you generate it if it doesn't exist? |
Thanks @roman-mazur for the tip! We only use |
@roman-mazur: In fact, just adding the JSR250-API dependency is sufficient in this case saving you an incredible 20kb :) Also, I don't think you need to include it using compile. The annotation obviously needs to be in your compilation classpath, but since it's not needed at runtime, the provided scope should do just fine:
|
@jenzz solution (based on @roman-mazur) solved this issue for me. thanks! |
Thanks @jenzz! |
Below addition to your Android project dependencies list will solve the issue dependencies { |
Config:
gradle-2.2.1
compileSdkVersion 22
buildToolsVersion "22.0.1"
minSdkVersion 18
targetSdkVersion 22
When I use @autovalue in an Android project I get an NPE, if I move the same class to a java only submodule, then it works.
Seems to not work in 1.0 or 1.1.
Repro steps
Create a blank app in Android Studio.
Add dependency:
compile("com.google.auto.value:auto-value:1.1")
Add this class:
When I try to build it I get:
The text was updated successfully, but these errors were encountered: