Android Studio 0.8.1 Robolectric设置

时间:2014-07-02 21:03:21

标签: android android-studio robolectric

我正在努力让robolectric为新的Android 0.8.1工作,因为目前没有robolectric gradle 0.12插件所以我希望.11现在可以正常工作。

* 问题:

androidTestCompile' org.robolectric:robolectric:2.3'

使用以下声明编译robolectric,我无法找到" org.robolectric。*"在我的测试目录中,工作室给出了#34;无法解析符号......"错误。

根据以下项目,您必须手动更新iml文件。这可能不是最佳解决方案,因为更新gradle文件会覆盖您所做的任何更改。

希望对此事有所帮助!!谢谢。

* 目前的项目结构是:

   src -> main -> java

   src -> test -> java

* 以下是我当前的build.gradle模块文件:

apply plugin: 'android-library'
apply plugin: 'robolectric'


buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.+'
        classpath 'org.robolectric:robolectric-gradle-plugin:0.11.+'
    }
}

allprojects {
    repositories {
       jcenter()
    }
}

android {
    compileSdkVersion 16
    buildToolsVersion '19.1.0'
    publishNonDefault true

    packagingOptions {
        exclude 'LICENSE.txt'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE'
    }

    defaultConfig {
        applicationId 'com.myapp.example.main'
        minSdkVersion 14
        targetSdkVersion 19
        versionCode 1
        versionName '1.0'

    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
    sourceSets {
        androidTest {
            setRoot('src/test/java')
        }
    }
    lintOptions {
        abortOnError false
        disable 'InvalidPackage'
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:+'
    compile files('libs/gson-2.2.4.jar')
    compile 'com.google.android.gms:play-services:+'
    compile 'com.android.support:support-v13:+'

    /* Including testing libraries */
    androidTestCompile 'junit:junit:4.10'
    androidTestCompile 'org.robolectric:robolectric:2.3'
}

robolectric {
    // configure the set of classes for JUnit tests
    include '**/*Test.class'

    // configure max heap size of the test JVM
    maxHeapSize = "2048m"
}

1 个答案:

答案 0 :(得分:0)

现在有点晚了。但我也遇到了这个错误,事实证明我的依赖项中的Robolectric版本已经过时了。在我用最新的here替换它之后,我修复了错误。此外,您可以将androidTestCompile更改为testCompile,因为您在此处编写单元测试。您可以找到两个here

之间的差异