Skip to content Skip to sidebar Skip to footer

Android Studio + Gradle + Android Annotations

I am trying to add AndroidAnnotations to Android Studio project that has a gradle build system. Has anyone done this? Can anyone help me with this? I do not even know where to star

Solution 1:

After 4 months I am 4 months older and a little smarter :) If you want to use      
Annotations in Android use http://jakewharton.github.io/butterknife/. 
It is way better and it is easy to set up :)

Here is what you need to do:

  • You need to modify your build.gradle file (build file for your application module)

First add dagger and annotations version. You can also declare them in dependencies. This is just more convenientwhen you have a lot of dependencies.

ext.daggerVersion = '1.0.0';
ext.androidAnnotationsVersion = '2.7.1';

configurations {
    apt
}

Add dependencies:

dependencies {

apt "com.googlecode.androidannotations:androidannotations:${androidAnnotationsVersion}"
compile "com.googlecode.androidannotations:androidannotations-api:${androidAnnotationsVersion}"
apt "com.squareup.dagger:dagger-compiler:${daggerVersion}"
compile "com.squareup.dagger:dagger:${daggerVersion}"

}

Finnaly, add this. This adds path for compiler and creates a dir for generated files (this dir will be called apt_generated):

android.applicationVariants.each { variant ->
aptOutput = file("${project.buildDir}/source/apt_generated/${variant.dirName}")
println "****************************"
println "variant: ${variant.name}"
println "manifest:  ${variant.processResources.manifestFile}"
println "aptOutput:  ${aptOutput}"
println "****************************"

variant.javaCompile.doFirst {
    println "*** compile doFirst ${variant.name}"
    aptOutput.mkdirs()
    variant.javaCompile.options.compilerArgs += [
            '-processorpath', configurations.apt.getAsPath(),
            '-AandroidManifestFile=' + variant.processResources.manifestFile,
            '-s', aptOutput
    ]
}
}

Oh, yes, and after you build your aplication, you need to go to project root/build/apt_generated, right click on folder and set "Mark as source root"

Post a Comment for "Android Studio + Gradle + Android Annotations"