AutoValue示例:错误:找不到符号类AutoValue_Animal

我正在尝试了解@AutoValue。我遵循https://github.com/google/auto/blob/master/value/userguide/index.md中的示例

我正在使用Android Studio 3.4

我添加我的gradle依赖

    implementation 'com.google.auto.value:auto-value-annotations:1.6.6'

annotationProcessor 'com.google.auto.value:auto-value:1.6.6'

我也在用

classpath 'com.android.tools.build:gradle:3.4.2'

distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip

我的代码如下

@AutoValue

abstract class Animal {

static Animal create(String name, int numberOfLegs) {

return new AutoValue_Animal(name, numberOfLegs);

}

abstract String name();

abstract int numberOfLegs();

}

public class ExampleUnitTest {

@Test

public void testAnimal() {

Animal dog = Animal.create("dog", 4);

assertEquals("dog", dog.name());

assertEquals(4, dog.numberOfLegs());

// You probably don't need to write assertions like these; just illustrating.

assertTrue(Animal.create("dog", 4).equals(dog));

assertFalse(Animal.create("cat", 4).equals(dog));

assertFalse(Animal.create("dog", 2).equals(dog));

assertEquals("Animal{name=dog, numberOfLegs=4}", dog.toString());

}

}

当我运行测试时,它会出错

error: cannot find symbol class AutoValue_Animal

我错过了什么?

在https://github.com/elye/issue_android_auto_value中添加了我的设计存储库

回答:

显然,问题是因为,我把我的

@AutoValue

abstract class Animal {

static Animal create(String name, int numberOfLegs) {

return new AutoValue_Animal(name, numberOfLegs);

}

abstract String name();

abstract int numberOfLegs();

}

在测试文件夹而不是源文件夹中。将其移至源文件夹(与MainActivity相同)可以解决该问题。

以上是 AutoValue示例:错误:找不到符号类AutoValue_Animal 的全部内容, 来源链接: utcz.com/qa/409339.html

回到顶部