Kev*_*ede 24 android android-gradle-plugin
该resValue方法(或其任何名称)允许您在或中设置资源值. 是否有相应的方法来获取由?设置的资源值?buildTypesproductFlavorsresValue
它似乎productFlavors在之前进行了评估buildTypes,因此resValue设置buildTypes优先.我想在调试版本中将"Debug"附加到应用程序名称,但是我需要获取在产品flavor中设置的值以便附加到它.
编辑:我尝试使用MarcinKoziń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"
}
}
}
Run Code Online (Sandbox Code Playgroud)
在buildTypes,appName始终具有最后一个产品风味的价值.因此,在此示例中,所有构建都接收名称"Bar"或"Bar Debug".
基本上,我需要一个resValueSuffix类似的applicationIdSuffix.显然没有这样的动物存在.com.android.application插件是否暴露了我可以用来实现的任何东西?
cyr*_*xis 33
如果您只是尝试设置应用程序标签(或其他清单值),则可以使用清单占位符来解决此问题.
android {
productFlavors {
Foo {
applicationId "com.myexample.foo"
manifestPlaceholders.appName = "Foo"
}
Bar {
applicationId "com.myexample.bar"
manifestPlaceholders.appName = "Bar"
}
}
buildTypes {
release {
manifestPlaceholders.appNameSuffix =""
}
debug {
manifestPlaceholders.appNameSuffix =".Debug"
applicationIdSuffix ".debug"
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后在Android Manifest中,您只需使用两个占位符作为应用名称(或其他值)
<application
android:label="${appName}${appNameSuffix}"
...
</application>
Run Code Online (Sandbox Code Playgroud)
这允许您在单个设备上并排安装所有4个变体,并在应用程序抽屉/启动器中为它们指定不同的名称.
您可以像这样检查构建变体
在gradle中定义值
buildTypes {
debug{
buildConfigField "String", "Your_string_key", '"yourkeyvalue"'
buildConfigField "String", "SOCKET_URL", '"some text"'
buildConfigField "Boolean", "LOG", 'true'
}
release {
buildConfigField "String", "Your_string_key", '"release text"'
buildConfigField "String", "SOCKET_URL", '"release text"'
buildConfigField "Boolean", "LOG", 'false'
}
}
Run Code Online (Sandbox Code Playgroud)
并使用构建变体访问这些值:
if(!BuildConfig.LOG)
// do something with the boolean value
Run Code Online (Sandbox Code Playgroud)
要么
view.setText(BuildConfig.yourkeyvalue);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15951 次 |
| 最近记录: |