我遇到的问题是我无法生成所需的资源文件。在我的项目设置中,我已经在资源文件(keys.xml)中定义了不同风格(amazon,googlePlay)之间的某些值。问题主要发生是因为live / qa版本之间的键也不同。
所以我想拥有的最后一把钥匙是:
我的问题是,是否可以在'interim'构建变体中定义资源,如上面提到的'amazonPaid',这样我就不必在所有可能的实时构建变体(amazonPaidLive,amazonFreeLive)之间复制该文件。或者也许有人有更好的建议如何处理这个问题?
build.gradle definitions
buildTypes {
qa {
//config
}
live {
//config
}
}
flavorGroups "market", "client"
productFlavors {
//define the market flavors
amazon {
flavorGroup "market"
}
googlePlay {
flavorGroup "market"
}
//define the client flavors
free {
flavorGroup "client"
packageName "com.example.free"
}
paid {
flavorGroup "client"
packageName "com.example.paid"
}
}
文件夹结构如下:
- src/main
-- AndroidManifest.xml
-- res/values/keys.xml
- src/live
- src/qa
- src/amazon
-- res/values/keys.xml
- src/googlePlay
-- res/values/keys.xml
- src/paid
- src/free
Android Manifest代码段
<application>
...
<meta-data android:name="app_id" value="@string/app_id" />
</application>