我尝试使用gradle在android studio 0.4.2中安装android注释但是它无法配置MainActivity_类
我配置了 编译器 - >注释proccesors 这是一张图片!
这是我的 build.gradle
的一部分 configurations {
apt
}
dependencies {
compile 'com.android.support:gridlayout-v7:19.0.1'
compile 'com.android.support:support-v4:19.0.1'
compile 'com.android.support:appcompat-v7:19.0.1'
//android annotations
compile 'org.androidannotations:androidannotations-api:3.0'
apt 'org.androidannotations:androidannotations:3.0'
}
def getSourceSetName(variant) {
return new File(variant.dirName).getName();
}
android.applicationVariants.all { 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
]
}
}
我可以在我的活动中注入视图,但它找不到MainActivity_类
在我读过的无数教程中说我需要将 生成的 目录标记为来源,但我不能用android studio 0.4.2做到这一点
任何帮助,谢谢!
答案 0 :(得分:2)
首先忘记在使用gradle
项目的Android Studio中更改注释处理的设置。 Android Studio将所有构建处理委托给gradle
,并且只反映状态和错误。
其次,请删除您在gradle中完成代码生成的解决方法,并开始使用Hugo Visser的android-apt
插件:https://bitbucket.org/hvisser/android-apt
请注意如何通过插件设置正确传递android-annaotaiton
处理器的参数。
成功!
答案 1 :(得分:1)
已在github issue上提交了一个工作解决方案:必须通过gradle配置源文件夹。所以android部分的配置应如下所示:
android {
compileSdkVersion 18
buildToolsVersion "18.0.1"
defaultConfig {
minSdkVersion 7
targetSdkVersion 18
}
sourceSets {
main {
manifest.srcFile 'src/main/AndroidManifest.xml'
java.srcDirs = ['src/main/java', 'YOUR_OTHER_PRODUCTION_SOURCE_FOLDER']
resources.srcDirs = ['src/main/res']
res.srcDirs = ['src/main/res']
}
}
}
另外,我同意Eugen,你真的应该使用新的android-apt插件。这已在AA项目的wiki page上进行了解释。 我将在Android工作室中添加如何配置AA的一部分,以澄清这一点。