2014-03-03 21 views
2

Gradle中的新手,嘗試創建構建變體。我只是增加了一個productFlavor到gradle這個文件突然我得到這個奇怪的錯誤Gradle productFlavors引發錯誤 - 無法將任務':assembleTest'添加爲具有該名稱的任務


$ gradle tasks 
Creating properties on demand (a.k.a. dynamic properties) has been deprecated and is scheduled to be removed in Gradle 2.0. Please read http://gradle.org/docs/current/dsl/org.gradle.api.plugins.ExtraPropertiesExtension.html for information on the replacement for dynamic properties. 
Deprecated dynamic property: "srcDirs" on "source set aild", value: "[src]". 

FAILURE: Build failed with an exception. 

* What went wrong: 
A problem occurred configuring root project 'SegmentIO'. 
> Cannot add task ':assembleTest' as a task with that name already exists. 

這裏是我的完整的build.gradle


buildscript { 
    repositories { 
     mavenCentral() 
    } 

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

apply plugin: 'android' 


dependencies { 
    compile files('libs/android-support-v4.jar') 
} 

android { 
    buildToolsVersion "19.0.1" 
    compileSdkVersion 17 

    productFlavors { 
     test { 
     } 

     prod { 
     } 
    } 

    sourceSets { 
     main { 
      manifest.srcFile 'AndroidManifest.xml' 
      java.srcDirs = ['src', 'bundled-src'] 
      resources.srcDirs = ['src'] 
      aild.srcDirs = ['src'] 
      renderscript.srcDirs = ['src'] 
      res.srcDirs = ['res'] 
     } 

     // test.assets.srcDirs = ['$java-project-root/assets/test'] 
     // prod.assets.srcDirs = ['$java-project-root/assets/test'] 

     instrumentTest.setRoot('tests') 
    } 

    dependencies { 
     compile fileTree(dir: './libs', include: 'Amplitude.jar') 
    } 
} 

回答

3

我看到兩個問題:

Deprecated dynamic property: "srcDirs" on "source set aild", value: "[src]". 

是因爲你在構建文件中拼寫錯了aild.srcDirs - 應該是aidl.srcDirs

> Cannot add task ':assembleTest' as a task with that name already exists. 

是因爲你想創建一個名爲「test」的味道,但是這是正在使用其他的編譯的東西,它的碰撞。嘗試使用不同的名稱。

更具體地說,Android插件根據味道名稱進行了一些任務(它也使用了構建類型)。如果您有一個風味名稱「foo」,assembleFoo執行彙編但只有foo風味。已經有一個assembleTest任務,所以當它試圖爲你的風格製作一個時會發生碰撞。

+1

謝謝 - 是的味道名稱'測試'是問題 – kellyfj

+0

有什麼辦法來覆蓋它的命名方案? – CasualT

+0

@CasualT我不這麼認爲。 –

相關問題