小编use*_*395的帖子

为什么库模块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'
Run Code Online (Sandbox Code Playgroud)

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

error: package android.support.test does not exist
error: package org.junit does not exist
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

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

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

java android android-studio

23
推荐指数
5
解决办法
3万
查看次数

Espresso测试的Android Studio项目设置

大约一个星期前,我问过这个问题

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

经过多次头部刮擦和项目设置变形后,我发现这个app/build.gradle依赖配置让我比以前更进一步,因为至少项目编译但是在尝试运行时没有构建:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion '22.0.1'

    defaultConfig {
        applicationId "com.my.package.name"
        minSdkVersion 8
        targetSdkVersion 22
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
    sourceSets { main { java.srcDirs = ['src/main/java', 'src/androidTest/java'] } }

    packagingOptions {
        exclude 'LICENSE.txt'
    }

}

dependencies {
    compile 'com.android.support:appcompat-v7:22.1.0'
    compile 'com.android.support:support-v4:22.1.0'
    compile 'com.android.support.test.espresso:espresso-core:2.1'
    compile 'com.android.support.test:testing-support-lib:0.1'
}
Run Code Online (Sandbox Code Playgroud)

请注意,compile而不是androidTestCompile测试支持依赖项.使用androidTestCompile上述问题中提到的问题的结果.

另请注意sourceSets声明中的两个srcDirs.当我手动创建androidTest/java目录时,该声明自动设置.这应该以不同的方式宣布吗

同样,getDefaultProguardFile在ide中用工具提示"无法解析符号'getDefaultProguardFile'"加下划线.如果这是至关重要的.

这种新的启示,切换androidTestCompilecompile,让我相信有什么毛病我成立了项目结构的单元测试的方式.这是我的项目结构图:项目文件夹结构

我应该提一下,从Eclipse迁移时会自动创建这个项目/模块结构.通过图标装饰,它看起来至少将我的测试类识别为测试类.

但现在我陷入了这个错误:

错误:任务':mymodule:dexDebug'的执行失败.com.android.ide.common.internal.LoggedErrorException:无法运行命令:C:\ …

java android android-studio android-espresso

1
推荐指数
1
解决办法
7603
查看次数

标签 统计

android ×2

android-studio ×2

java ×2

android-espresso ×1