为什么库模块android.support.test在添加依赖项中不可见

我正在为Android Studio中的项目添加Espresso。 我已经安装了支持存储库,实际上已经使用了它的部分。 然后我根据安装说明将这些依赖项添加到app/build.gradle

 androidTestCompile 'com.android.support.test.espresso:espresso-core:2.0' androidTestCompile 'com.android.support.test:testing-support-lib:0.1' 

在写我的测试时,auto complete会识别出工件的存在。 但是当我跑步时,我得到了这个错误:

 error: package android.support.test does not exist error: package org.junit does not exist 

以及这两个的其他一些子包。

所以我从build.gradle中删除了上面的两行,然后尝试在GUI项目结构/ modules / dependencies中添加

既没有’com.android.support.test.espresso:espresso-core:2.0’也没有’com.android.support.test:testing-support-lib:0.1’作为可供选择的选项。 但是,在我的文件系统中有\extras\android\m2repository\com\android\support\test\espresso\espresso-core\2.0\以及包括espresso-core-2.0.aar在内的全套文件我能够通过winzip在其中打开和导航。 在文件系统中,它看起来与通过SDK Manager和Support Repository安装的其他库没什么区别。

android studio为什么不识别这个库?

非常感谢您的帮助,我找不到其他人似乎遇到了这个问题。 这是我能find的最接近的: 为什么编译时库模块中的包不存在,即使Android Studio在代码中没有显示错误?

我尝试过两次重新安装支持存储库。

我遇到了同样的问题,我发现androidTestCompile的依赖关系只在调试版本变体中默认可见。

您可以通过将其添加到build.gradle来更改要测试的构建变体:

 android { ... testBuildType "staging" } 

“staging”只是一个例子,你应该用你的一个构建变体替换它。

请记住,只测试了一种变体。

有关详情,请访问https://code.google.com/p/android/issues/detail?id=98326

有2种不同的测试依赖项配置:

  • testCompile – 由unit testing套件使用(位于src/test文件夹中,由./gradlew test调用)
  • androidTestCompile – 由集成测试套件使用(位于src/androidTest文件夹,由./gradlew connectedAndroidTest调用)。

我怀疑你的测试代码是在错误的测试套件位置

在你的情况下你的测试代码应该进入src/androidTest文件夹,测试套件应该通过运行./gradlew connectedAndroidTest来执行

我也有这个问题,并且我在Google推荐的src / androidTests下有我的android测试用例,但这会导致build.gradle出现问题:

 sourceSets { main { java.srcDirs = ['src'] } } 

有了上述内容,它试图在正常的调试编译目标中编译我的所有测试用例,该目标不包括espresso和其他依赖项,因为它们列在androidTestCompile下。

最后,我通过从编译中排除androidTest子目录并将androidTest的根目录设置到适当的目录来修复此问题。

 sourceSets { main { java.srcDirs = ['src'] java.excludes = ['androidTest/**'] } androidTest.setRoot('src/androidTest') } 

我遇到了同样的问题,它是通过从Android Studio的Build选项卡中点击Clean Project来解决的。

点击清洁项目后,观察Gradle控制台是否存在潜在错误,如果成功完成清理,只需进入任何一个测试类并输入“Espresso”,智能代码完成应提供建议。 在此之后,当您使用Espresso时,所有内容都应自动导入。

希望这可以帮助!

我的解决方案更简单,更简单,我只是去Android Studio File>Invalidate Caches/Restart并且它工作正常,似乎android工作室保留了一些不会用Rebuild/Clean缓存。

我在将我的一个应用程序转发到新的可视化范例时遇到了这个问题,并发现我的应用程序级build.gradle缺少以下内容:

 androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) 

1.单击工具栏中“运行”按钮旁边的下拉菜单。

2.单击“编辑配置”

3.现在删除除app(在Android App中)和默认值之外的所有其他内容。

这对我有用。 希望能帮助到你。