2014-02-24 35 views
1

我有一個項目,它使用一些資源文件進行測試。現在我嘗試遷移到gradle。問題是:來自測試項目的R文件不可用。我嘗試從IDEA構建測試,而不是從android studio構建測試。所以,當我嘗試從測試項目導入R檔,編譯錯誤發生Android gradle idea缺席測試R文件

的build.gradle

buildscript { 
    repositories { 
     mavenCentral() 
    } 

    dependencies { 
     classpath 'com.android.tools.build:gradle:0.7.1' 
    } 
} 

apply plugin: 'android' 

repositories { 
    maven {url 'http://oss.sonatype.org/content/groups/jayway/'} 
} 

dependencies { 
    compile 'com.android.support:support-v4:19.0.1' 
    compile 'com.android.support:appcompat-v7:19.0.1' 
    instrumentTestCompile 'com.jayway.android.robotium:robotium-solo:5.0.1' 
} 

android { 
    defaultConfig { 
     testPackageName "com.oso.ono.tests" 
    } 

    sourceSets{ 
     main { 
      manifest.srcFile 'AndroidManifest.xml' 
      java.srcDirs = ['src'] 
      resources.srcDirs = ['src'] 
      res.srcDirs = ['res'] 
      assets.srcDirs = ['assets'] 
     } 

     instrumentTest.setRoot('tests') 
     instrumentTest.java.srcDirs = ['tests/src'] 
    } 

    compileSdkVersion 19 
    buildToolsVersion "19.0.1" 
} 
+0

您是否嘗試過從命令行運行Gradle測試? – Goddchen

+0

是的,它可以工作,但我不知道如何使用測試項目中的R文件。 IDEA不生成它,當我嘗試使用它時,它會突出顯示編譯錯誤。其實測試工作沒有資源和AndroidManifest文件 –

+1

我將test_strings.xml添加到我的項目,並與它一起工作buit它是錯誤的,因爲它將建立到發佈項目,我將不得不手動刪除它。 –

回答

0

正確你sourceSet。

sourceSets { 
     main { 
      manifest.srcFile 'AndroidManifest.xml' 
      java.srcDirs = ['src','gen'] 
      resources.srcDirs = ['res'] 
     } 
    }