我嘗試爲多個合作伙伴以及每個合作伙伴製作一個測試和產品版本的應用程序。對於每種口味,我都會創建一個具有res/values的特定文件夾,就像文檔中所說的那樣。Android風味,Gradle來源合併
我gradle這個文件是這樣的:
apply plugin: 'com.android.application'
android {
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
}
compileSdkVersion 14
buildToolsVersion "21.1.2"
defaultConfig {
versionCode 1
versionName 1
minSdkVersion 14
targetSdkVersion 19
}
productFlavors {
prodPARTNER1 {
applicationId "com.PARTNER1"
}
testPARTNER1 {
applicationId "com.PARTNER1.test"
}
prodPARTNER2{
applicationId "com.PARTNER2"
}
testPARTNER2{
applicationId "com.PARTNER2.test"
}
}
sourceSets {
testPARTNER2 {
res.srcDirs = ["testPARTNER2/res", "prodPARTNER2/res"]
}
}
}
dependencies {
compile project(':ViewPagerIndicatorLibrary')
compile 'com.android.support:support-v4:19.0.0'
compile 'com.google.android.gms:play-services:+'
compile files('libs/achartengine-1.1.0.jar')
compile files('libs/android-async-http-1.4.4.jar')
compile files('libs/jackson-annotations-2.2.3.jar')
compile files('libs/jackson-core-2.2.3.jar')
compile files('libs/jackson-databind-2.2.3.jar')
compile files('libs/urlimageviewhelper-1.0.4.jar')
}
我想爲一個測試版本採取的督促版本res文件夾(這樣我不重複了這兩個版本的資源),並與測試版本進行合併。 的問題是:
Error:Error: Duplicate resources:
C:\...prodPARTNER2\res\values\strings.xml:string/app_name,
C:\...testPARTNER2\res\values\strings.xml:string/app_name
任何想法?無法將相同風味的res文件夾合併在一起?
編輯:我使用gradle這個1.1.0和Android工作室1.1.0太
太好了我不必爲一個伴侶創造兩種味道!但是我怎麼能爲我的測試版本獲得不同的資源(並且與prod版本合併)?原因src/ /成爲src/test並將用於所有合作伙伴,它不是合作伙伴特定的權利? –
jaumard
2015-04-01 12:56:43
例如,我想在string.xml中更改app_name以產生MyPartner1App,並且測試它是MyPartner1TestApp,我該怎麼做? – jaumard 2015-04-01 12:57:54
@jaumard comment1,question2:是的,在構建'test'構建類型時,'src/test'將用於所有合作伙伴,它不是合作伙伴特定的。 – 2015-04-01 17:14:02