I get the below error when trying to run androidTest
Error
> Task :app:processDebugAndroidTestResources FAILED
AGPBI: {"kind":"error","text":"Android resource linking failed","sources":[{"file":"/Users/xx/yy/app/build/intermediates/packaged_manifests/debugAndroidTest/AndroidManifest.xml","position":{"startLine":21}}],"original":"/Users/xx/yy/app/build/intermediates/packaged_manifests/debugAndroidTest/AndroidManifest.xml:22: AAPT: error: attribute android:forceQueryable not found.\n ","tool":"AAPT"}
Execution failed for task ':app:processDebugAndroidTestResources'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
> Android resource linking failed
/Users/xx/yy/app/build/intermediates/packaged_manifests/debugAndroidTest/AndroidManifest.xml:22: AAPT: error: attribute android:forceQueryable not found.
Test file
package com.xx.view
import android.app.Application
import android.content.Context
import androidx.recyclerview.widget.RecyclerView
import androidx.test.InstrumentationRegistry.getTargetContext
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.espresso.Espresso.onView
import androidx.test.espresso.IdlingRegistry
import androidx.test.espresso.action.ViewActions
import androidx.test.espresso.assertion.ViewAssertions.matches
import androidx.test.espresso.contrib.RecyclerViewActions
import androidx.test.espresso.matcher.ViewMatchers.*
import androidx.test.filters.LargeTest
import androidx.test.rule.ActivityTestRule
import androidx.test.rule.GrantPermissionRule
import androidx.test.runner.AndroidJUnit4
import androidx.test.uiautomator.UiDevice
import androidx.test.uiautomator.UiSelector
import com.xx.R
import kotlinx.android.synthetic.main.activity_main.*
import org.hamcrest.Matchers.allOf
import org.hamcrest.core.IsInstanceOf
import org.junit.*
import org.junit.runner.RunWith
@LargeTest
@RunWith(AndroidJUnit4::class)
class MainActivityTest {
@Rule
@JvmField
var mActivityTestRule = ActivityTestRule(MainActivity::class.java)
@Rule
@JvmField
val grantPermissionRule: GrantPermissionRule = GrantPermissionRule.grant(android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_COARSE_LOCATION)
lateinit var context: Context
lateinit var app: Application
lateinit var mainActivity: MainActivity
lateinit var idlingResource: MainActivityIdlingResource
private lateinit var myDevice: UiDevice
@Before
fun setup() {
context = InstrumentationRegistry.getTargetContext()
app = InstrumentationRegistry.getTargetContext().applicationContext as Application
mainActivity = mActivityTestRule.activity
myDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
idlingResource = MainActivityIdlingResource(mActivityTestRule.activity.recyclerList, mActivityTestRule.activity.javaClass.simpleName)
IdlingRegistry.getInstance().register(idlingResource)
//mActivityTestRule.launchActivity(null)
}
@After
fun teardown() {
IdlingRegistry.getInstance().unregister(idlingResource)
}
}
App Gradle file
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-android-extensions'
id 'kotlin-kapt'
}
android {
compileSdkVersion 29
buildToolsVersion "30.0.2"
defaultConfig {
applicationId "com.xx"
minSdkVersion 18
targetSdkVersion 29
versionCode 1
versionName "1.0"
vectorDrawables.useSupportLibrary = true
multiDexEnabled true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
dataBinding {
enabled = true
}
kotlinOptions {
jvmTarget = '1.8'
}
packagingOptions {
pickFirst("META-INF/atomicfu.kotlin_module")
}
}
dependencies {
//Test dependencies
androidTestImplementation 'junit:junit:4.13'
androidTestImplementation "org.koin:koin-test:$koin_version"
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.2.0'
androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0';
androidTestImplementation 'androidx.test:rules:1.3.1-alpha02'
testImplementation "io.mockk:mockk:$mockk_version"
}