<分区>
我正在尝试添加 AndroidAnnotations到具有 gradle 构建系统的 Android Studio 项目。有没有人这样做过?谁能帮我这个?我什至不知道从哪里开始。我知道如何将库添加到 gradle,但 AndroidAnnotations 需要 2 个 jar 文件,我不知道该怎么办。
<分区>
我正在尝试添加 AndroidAnnotations到具有 gradle 构建系统的 Android Studio 项目。有没有人这样做过?谁能帮我这个?我什至不知道从哪里开始。我知道如何将库添加到 gradle,但 AndroidAnnotations 需要 2 个 jar 文件,我不知道该怎么办。
最佳答案
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 :)
这是你需要做的:
首先添加 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,右键单击文件夹并设置“标记为源根目录”
关于Android Studio + Gradle + Android 注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17910603/
相关文章:
android - 我的 robofragment 无法注入(inject) View (roboguice 2.0)
jenkins - 如何将构建 Artifactory 的快照版本上传到 Artifactory 中的 gradle 存储库
android - 在构建我的主要 Android 应用程序时,我的库带来了许多类
android - 是否有任何解决方案可以在模拟器 (Android) 中运行 Google Plus 发布(分享互动帖子)
java - ArrayList 已初始化,但在尝试 .add(string) 方法时仍返回 NullPointerException
java - fragment 到 fragment 的通信
java - 获取带有注释的所有类并将它们添加到android中的hashMap