Android Studio + Gradle + Android Annotations

8

我正在尝试将AndroidAnnotations添加到具有gradle构建系统的Android Studio项目中,有人做过这个吗?能帮我吗?我甚至不知道从哪里开始。我知道如何将库添加到gradle,但AndroidAnnotations需要2个jar文件,我不知道应该怎么做。

我想在使用gradle构建系统的Android Studio项目中添加AndroidAnnotations,是否有人已经做过这个?能否提供帮助?我不知道从哪里开始。我知道如何将库添加到gradle,但是AndroidAnnotations需要两个jar文件,我不确定该怎么做。

1个回答

13
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 :)

以下是您需要执行的操作:

  • 您需要修改build.gradle文件(应用程序模块的构建文件)

首先添加Dagger和注释版本。您也可以在依赖项中声明它们。当您有很多依赖项时,这只是更方便的方法。

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

configurations {
    apt
}

添加依赖:

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}"

}
最后,添加以下内容。这将为编译器添加路径并创建一个生成文件的目录(该目录将被称为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
    ]
}
}

噢,是的,在您构建应用程序之后,您需要转到项目根目录/build/apt_generated,在文件夹上右键单击并设置“标记为源根目录”


2
为什么需要Dagger?它与Android Annotations有关吗? - Tomáš Hubálek
1
注解 jar 包是自动下载的,还是我需要手动添加它? - SamAko
它对我没用。相反,我使用了这里发布的稍微不同的版本:https://dev59.com/OWIk5IYBdhLWcg3wWtBz - Ferran Maylinch
2
编译“com.googlecode.androidannotations:androidannotations api:${androidAnnotationsVersion}”应该是编译“com.googlecode.androidannotations:androidannotations-api:${androidAnnotationsVersion}”,请注意你的代码中缺少了一个“-”。 - praneetloke

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接