我目前正在将我的项目迁移到新的基于IDEA的IDE。根据build.gradle文件,当前Gradle插件版本为0.12。
为了让Android注解代码生成器正常工作,我遵循了this link的说明,并且很少让它工作(虽然不能重现它)。
从gradle日志中,我可以看到apt实际上正在生成代码,这些代码保存在main-project/sub-project/build/source/...上。不过,我还注意到,每次构建项目时,都会从构建路径中删除该文件夹(因此无法识别生成的类)。这些行被自动添加到sub-project.iml文件中(因为iml文件也是生成的,手动更改它不会做任何事情):
<excludeFolder url="file://$MODULE_DIR$/build/intermediates" />
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
<excludeFolder url="file://$MODULE_DIR$/build/source" />如果我尝试检查Preferences > Compiler > Excludes,那里什么也没有显示。
我想正确的做法是让APT在sub-project/build/generated/...中生成代码,这也是用于放置默认Android生成代码(R等)的文件夹,并且它不会被排除在路径之外。但是我该怎么做呢?
发布于 2014-07-07 05:55:46
我上面提到的链接上的说明指的是android-apt的1.2版本。将依赖项版本从1.2更改为1.3可以解决此问题。
dependencies {
classpath 'com.android.tools.build:gradle:0.12.+'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.3+'
}根据此commit,android-apt上的apt生成文件夹最近已修复。
https://stackoverflow.com/questions/24599950
复制相似问题