2015-03-13 76 views
2

我們有一個多種口味的項目,每種口味有3種不同的構建類型:調試,質量保證和發佈。Android多種味道與多種構建類型

productFlavors { 
    flavor1 {} 

    flavor2 {} 

    flavor3 {} 
    } 

buildTypes { 
    debug { 
     applicationIdSuffix ".debug" 
    } 

    qa { 
     applicationIdSuffix ".qa" 

    } 

    release { 
    .. 
    } 

但是對於每個flavor和buildType,我們需要不同的庫依賴關係。 例如:

compile 'baseUrl:myLibrary:1.0.0:[email protected]' 
compile 'baseUrl:myLibrary:1.0.0:[email protected]' 
... 
compile 'baseUrl:myLibrary:1.0.0:[email protected]' 

我們可以添加使用腳本(常規),這些依賴關係?

感謝

回答

0

我知道,你可以定義每個buildType特定依賴這樣

debugCompile 'baseUrl:myLibrary:1.0.0:[email protected]' 
releaseCompile 'baseUrl:myLibrary:1.0.0:release:[email protected]' 
  • 編譯:主要應用
  • androidTestCompile:測試應用
  • debugCompile:調試生成類型
  • releaseCompile:發佈構建類型。

因爲這是不可能建立的APK不具有 相關的生成類型,將APK總是配置有兩個(或更多) 配置:編譯和編譯。創建一個新的版本 類型會根據其名稱自動創建一個新的配置。

這也似乎是工作只是味道細如描述here但不是flavorDimensions

做它的一個變種(buildType +香精),似乎更多的工作。否則,你可以定義你的庫作爲一個真正的庫項目,並使用一個語法像這樣

要創建另一個發佈神器的依賴,你需要 指定要使用的一個:

dependencies { 
    flavor1Compile project(path: ':lib1', configuration: 'flavor1Release') 
    flavor2Compile project(path: ':lib1', configuration: 'flavor2Release') 
} 

來自:http://tools.android.com/tech-docs/new-build-system/user-guide