【发布时间】:2016-09-29 21:44:58
【问题描述】:
我看到了类似问题的部分答案,但从未真正解决问题。我把它归结为一个最小的应用程序来演示这个问题。
我使用的是最新版本的 Android Studio (V2.2.1) 我安装了以下 SDK:
- Android SDK 工具 v25.1.6
- Android SDK Platform-tools v23.1
- Android SDK Build-tools v23.0.3
-
Android 支持库 v32
- 使用向导创建新的 Android 应用
-
更新了 build.gradle (app) per: https://developer.android.com/training/testing/start/index.html#config-instrumented-tests
-
在defaultConfig下添加:
- testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
-
在依赖项下添加
- androidTestCompile 'com.android.support:support-annotations:23.0.1'
- androidTestCompile 'com.android.support.test:runner:0.4.1'
- androidTestCompile 'com.android.support.test:rules:0.4.1'
-
项目同步到 Gradle 了吗
在“test”包下添加新的测试文件——ExampleIntegrationTest.java(就在ExampleUnitTest.java旁边)
在新文件中,根据以下内容创建集成测试:https://developer.android.com/training/testing/unit-testing/instrumented-unit-tests.html
import android.support.test.runner.AndroidJUnit4;
import android.test.suitebuilder.annotation.SmallTest;
import org.junit.runner.RunWith;
@RunWith(AndroidJUnit4.class)
@SmallTest
public interface ExampleIntegrationTest {
}
这就是问题出现的地方 - 无法解析符号 AndroidJUnit4 上线:import android.support.test.runner.AndroidJUnit4;
如果我键入导入语句,我可以使用弹出建议:
- 导入安卓。 - 它显示“支持作为选项”
- 导入 android.support。 - 它显示“测试”作为选项
- 导入 android.support.test。 - 现在它只显示“规则”作为选项
创建应用后,我确保它使用的是“调试”变体
这很简单。据我所知,这应该可以工作,但是由于某种原因,支持库没有正确导入。
【问题讨论】:
-
你收到过这个吗?我以前见过它,它消失了,我感觉它与我自己下面正在更新的依赖项有关。厌倦了看到“尝试以正确的方式做事并使用 androidTest 文件夹”
标签: android android-studio compiler-errors integration-testing undefined-symbol