无法解析android项目中纯java模块内的符号生成的AutoValue\u Foo类
我试图在一个纯Java编写的模块中使用AutoValue,该模块充当我的Android应用程序的域模块。我的应用程序由3层组成,表示层、域和数据层。表示和数据都有android依赖项,但域没有 以下是AutoValue类数据实现:无法解析android项目中纯java模块内的符号生成的AutoValue\u Foo类,java,android,gradle,auto-value,Java,Android,Gradle,Auto Value,我试图在一个纯Java编写的模块中使用AutoValue,该模块充当我的Android应用程序的域模块。我的应用程序由3层组成,表示层、域和数据层。表示和数据都有android依赖项,但域没有 以下是AutoValue类数据实现: import com.google.auto.value.AutoValue; import org.jetbrains.annotations.Nullable; import java.util.Date; @AutoValue public abstract
import com.google.auto.value.AutoValue;
import org.jetbrains.annotations.Nullable;
import java.util.Date;
@AutoValue
public abstract class Trip {
public abstract int id();
public abstract String name();
public abstract int totalDistance();
@Nullable public abstract Date startDate();
@Nullable public abstract Date endDate();
public static Builder builder() {
return new AutoValue_Trip.Builder().totalDistance(0);
}
@AutoValue.Builder
public abstract static class Builder {
public abstract Builder id(int id);
public abstract Builder name(String name);
public abstract Builder totalDistance(int totalDistance);
public abstract Builder startDate(Date startDate);
public abstract Builder endDate(Date endDate);
public abstract Trip build();
}
}
Android Studio找不到生成的AutoValue\u Trip类,因此将其标记为错误,但是,项目构建和运行正常。
这是我的域模块build.gradle
buildscript {
repositories {
mavenCentral()
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath 'me.tatarka:gradle-retrolambda:3.2.3'
classpath "net.ltgt.gradle:gradle-apt-plugin:0.12"
}
}
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: "net.ltgt.apt"
apply plugin: 'me.tatarka.retrolambda'
//noinspection GroovyUnusedAssignment
sourceCompatibility = 1.8
//noinspection GroovyUnusedAssignment
targetCompatibility = 1.8
configurations {
provided
}
sourceSets {
main {
compileClasspath += configurations.provided
}
}
dependencies {
def domainDependencies = rootProject.ext.domainDependencies
def domainTestDependencies = rootProject.ext.domainTestDependencies
apt domainDependencies.autoValue
compileOnly domainDependencies.autoValue
provided domainDependencies.javaxAnnotation
compile domainDependencies.javaxInject
compile domainDependencies.rxJava
compile domainDependencies.arrow
testCompile domainTestDependencies.junit
testCompile domainTestDependencies.mockito
testCompile domainTestDependencies.assertj
}
我已尝试使用以下源集将生成的生成文件和文件夹添加到源路径:
main {
java {
srcDirs += 'src/../build/generated'
}
}
但后来我发现了一些错误
有没有人遇到过这个问题?您是如何纠正的?如有必要,将提供其他信息