android {
...
testBuildType "deviceTest"
buildTypes {
debug {
// Using 10.0.2.2 (the desktop's localhost), as the app normally runs on an Emulator
// in debug mode.
buildConfigField "String", "BACKEND_URL", '"http://10.0.2.2"'
buildConfigField "Integer", "PORT", "8080"
applicationIdSuffix ".debug"
}
// Use local host for testing, for MockWebServer
deviceTest {
initWith debug
buildConfigField "String", "BACKEND_URL", '"http://localhost"'
}
release {
...
}
}
}
就像Google Doc一样,它暗示here。但是,这将导致单元测试无法访问测试依赖项(如JUnit),因此测试无法运行。
最佳答案
我在AS 3.1.3上发现了这个问题。
问题是Build Variant和testBuildType不匹配。因此,在将testBuildType添加到gradle文件中之后,转到“构建->选择构建变体”,然后为您的应用选择相同的变体。
在正确运行androidTest之前,您可能还需要设置签名 key 或解决proguard问题,但是依赖项现在应该可以访问了。
可以在此处跟踪更多详细信息:
https://issuetracker.google.com/issues/36995546