java - 自动值示例 : error: cannot find symbol class AutoValue_Animal

标签 java android android-studio auto-value

我正在尝试了解@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 相同的位置)解决问题。

关于java - 自动值示例 : error: cannot find symbol class AutoValue_Animal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58286591/

相关文章:

java - 是否可以编写一个批处理文件来将快捷键分配给 Windows 中的 .jar 文件

java - 为什么 Java GUI 中的大循环滞后/卡住?

java - 不正确的 ehcache 统计信息 : hits+misses == 0

Java:Lucene 索引大小为 0kb 的空 _0.fdt 和 _0.fdx 文件

java - 将列表转换为数组

java - 为什么在 Android Studio 中使用 Firebase 数据库时 onClick 内的 "If Condition"不起作用?

android - 找不到与包名称匹配的客户端 (Google Analytics) - 多个 productFlavors/application id

android - 如何创建具有多个可点击区域的 ListView

java - 如何在 Android 中的第二个或其他 Activity 中运行方法?

java - 尝试在空对象引用上调用虚拟方法 'void android.widget.TextView.append(java.lang.CharSequence)'