无法解析符号';测试';在Android支持库中
我刚开始玩Android,我遇到了一些androidTest的例子。基本上,我从Android Studio收到一条无法解析符号“test”错误消息,该消息出现在我插入指令的测试文件的InstrumentationRegistry和AndroidJUnit4类的导入语句中: 示例InstrumentedTest.java无法解析符号';测试';在Android支持库中,android,gradle,build.gradle,android-support-library,Android,Gradle,Build.gradle,Android Support Library,我刚开始玩Android,我遇到了一些androidTest的例子。基本上,我从Android Studio收到一条无法解析符号“test”错误消息,该消息出现在我插入指令的测试文件的InstrumentationRegistry和AndroidJUnit4类的导入语句中: 示例InstrumentedTest.java package com.example.androidtestexample; import android.content.Context; import android
package com.example.androidtestexample;
import android.content.Context;
import android.support.test.platform.app.InstrumentationRegistry;
import android.support.test.ext.junit.runners.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.junit.Assert.*;
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
@Test
public void useAppContext() {
// Context of the app under test.
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
assertEquals("com.example.androidtestexample", appContext.getPackageName());
}
}
因此,@RunWith
语句的AndroidJUnit4符号也无法解析,当我尝试运行instrumentation测试时,会出现一个“Edit configuration”(编辑配置)窗口,其中有一个“instrumentation runner class not specified”(未指定instrumentation runner类)错误
我使用的是AndroidStudio 3.5.3,但本例使用的是'com.Android.tools.build:gradle:2.2.3'。app gradle.build如下所示(我必须按照建议添加aaptOptions
语句,以获得最小的可复制示例):
build.gradle(模块:应用程序)
正如中所建议的,我已经仔细检查了debug build variant是否被选中,以及instrumentation测试源文件是否位于src/androidTest/java/文件夹中
我知道这个例子已经很过时了,从前面提到的问题的另一个答案中可以看出,android.support.test
软件包已经被弃用,应该改用AndroidX。然而,从我的理解来看,仍然可以使用Android支持库处理历史工件,因此我的问题是:
我是否有办法解决这个问题,并使用android.support.test
包运行这些旧示例,而无需将它们迁移到AndroidX
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "24.0.2"
defaultConfig {
applicationId "com.example.androidtestexample"
minSdkVersion 22
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:25.0.1'
testCompile 'junit:junit:4.12'
androidTestCompile 'junit:junit:4.12'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
}