【发布时间】:2016-05-26 20:56:52
【问题描述】:
resValue 方法(或其他任何名称)允许您设置buildTypes 或productFlavors 中的资源值。 有没有相应的方法获取resValue设置的资源值?
似乎productFlavors 在buildTypes 之前被评估,因此buildTypes 中设置的resValue 优先。我想在调试版本中将“Debug”附加到应用程序名称,但我需要获取在产品风味中设置的值才能附加到它。
编辑:我尝试了 Marcin Koziński 的使用变量的建议,但所有产品风格在任何构建类型之前进行评估。因此,这不起作用:
android {
String appName = ""
productFlavors {
Foo {
appName = "Foo"
}
Bar {
appName = "Bar"
}
}
buildTypes {
release {
resValue "string", "app_name", appName
}
debug {
resValue "string", "app_name", appName + " Debug"
}
}
}
在buildTypes 中,appName 始终具有最后 产品风味的值。所以在这个例子中,所有构建都接收到名称"Bar" 或"Bar Debug"。
基本上,我需要一个类似于applicationIdSuffix 的resValueSuffix。显然不存在这样的动物。 com.android.application 插件是否公开了我可以用来实现此目的的任何东西?
【问题讨论】:
-
@TimCastelijns Q&A 是关于来自
strings.xml的资源。我的资源是使用resValue创建的。 -
app_name是否在您的应用中除了清单之外的任何地方使用? -
有一种方法可以使用清单占位符,请参阅下面的答案。
标签: android android-gradle-plugin