先驱:我想本地化应用程序名称(使用字符串资源)
并同时从gradle文件中添加构建类型后缀(“DEBUG”)。
在这里,我试图连接字符串资源“app_name”和gradle变量“AppNameSuffix”
预期的应用程序名称:
产品风味“all”-“My Application DEBUG”
产品风味“china”-“My Chinese Application DEBUG”
以及后缀为“RELEASE”和“CANARY”的后续构建类型
buildTypes {
debug {
manifestPlaceholders = [AppNameSuffix: "DEBUG"]
...
}
release{
manifestPlaceholders = [AppNameSuffix: "RELEASE"]
...
}
canary{
manifestPlaceholders = [AppNameSuffix: "CANARY"]
}
}
productFlavors {
china {
applicationId "com.myapplication.china"
}
all {
//default
applicationId "com.myapplication.all"
}
}
<application
...
android:label="@{@string/app_name(${AppNameSuffix})}">
...
</application>
评估gradle变量时出现“$”符号错误
<string name="app_name">My application %s</string>
<string name="app_name">My Chinese application %s</string>
参考资料:
在 gradle 文件中,使用小写字母,以使资源名称有效:
buildTypes {
debug {
manifestPlaceholders = [AppNameSuffix: "_debug"]
...
}
release{
manifestPlaceholders = [AppNameSuffix: "_release"]
...
}
canary{
manifestPlaceholders = [AppNameSuffix: "_canary"]
}
}
修改您的清单:有括号要删除,也许还有工具:替换添加(如果还没有):
<application
...
android:label="@string/app_name${AppNameSuffix}"
tools:replace="android:label"
...
</application>
然后您需要添加与您的后缀匹配的字符串资源:
<string name="app_name">My application</string>
<string name="app_name_debug">My application DEBUG</string>
<string name="app_name_release">My application RELEASE</string>
<string name="app_name_canary">My application CANARY</string>
您还可以玩口味,并将特定的strings.xml文件夹中匹配您的口味。
假设我有以下片段: 我希望这段代码能够显示: 这使我认为运算符不适合连接字符串和变量。 您应该如何使用PowerShell来实现这一点?
问题内容: 是否可以将变量放入字符串资源中?如果是的话-我该如何使用它们。 我需要的是以下内容: 并用int代替%X。 问题答案: 从这里取的例子
问题内容: 我试图在Python中连接字符串和数字。当我尝试这样做时,它给了我一个错误: 错误是: 为什么我不能做到这一点? 如何 可以 我将字符串和Python中的号码是多少? 问题答案: Python是强类型的。没有隐式类型转换。 您必须执行以下操作之一:
问题内容: 如何在Swift中连接字符串? 在我们喜欢 要么 但是我想用Swift语言做到这一点。 问题答案: 您可以通过多种方式连接字符串: 您也可以这样做: 我相信还有更多方法。 描述位 创建一个常数。(有点像)。设置后就无法更改其值。您仍然可以将其添加到其他东西并创建新变量。 创建一个变量。(有点像),因此您可以更改其值。 注意 在现实中,并有 很大的不同 ,从和,但它可以帮助类比。
问题内容: 我要在主题中包含文件名“ main.txt”,因为我是从命令行传递文件名的。但是这样做会出错 问题答案: 我猜您打算这样做:
我有一个函数,显示用户名。它工作得很好,但我收到了这个警告,我想知道如何解决它。