我尝试使用Android 3.3.2构建Andoird SettingsLib模块 在此模块的strings.xml文件中,存在重复的资源,例如:
<!-- [CHAR_LIMIT=50] Short label for imminent shutdown warning of device -->
<string name="power_remaining_duration_only_shutdown_imminent" product="default">Phone may shutdown soon</string>
<!-- [CHAR_LIMIT=50] Short label for imminent shutdown warning of device -->
<string name="power_remaining_duration_only_shutdown_imminent" product="tablet">Tablet may shutdown soon</string>
<!-- [CHAR_LIMIT=50] Short label for imminent shutdown warning of device -->
<string name="power_remaining_duration_only_shutdown_imminent" product="device">Device may shutdown soon</string>
我觉得这是为了管理不同的产品口味(在这种情况下为终端包装)。
我是否只是简单地构建了代码而没有进行任何修改,所以我得到了多种定义的资源,例如:
错误:找到项目String / power_remaining_duration_only_shutdown_imminent超过一次
我开始尝试解决此问题,并且阅读了一些Android风格的页面。
我在我的应用build.gradle
文件中添加了如下所示的风味:
flavorDimensions "default"
productFlavors {
device {
applicationId
"com.ebookfrenzy.buildexample.app.phone"
versionName "1.0-phone"
buildTypes.each {
it.buildConfigField ("string","product","device")
}
}
tablet {
applicationId
"com.ebookfrenzy.buildexample.app.tablet"
versionName "1.0-tablet"
buildTypes.each {
it.buildConfigField ("string","product","default")
}
}
defaultConfig {
applicationId
"com.ebookfrenzy.buildexample.app.default"
versionName "1.0-tablet"
buildTypes.each {
it.buildConfigField ("string","product","default")
}
}
}
但这不能解决我的错误。
我如何才能用风味来形容我的遗嘱,以便在一次构建中仅设置一种多重定义的资源?