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

10-01 09:33