【发布时间】:2016-03-19 18:27:38
【问题描述】:
这是对this post 帮助我的答案的延续
我们可以从build.gradle添加如下字符串资源:
productFlavors { main{ resValue "string", "app_name", "InTouch Messenger" } googlePlay{ resValue "string", "app_name", "InTouch Messenger: GPE Edition" } }
它的作用就像一个魅力,其目的是为每种口味提供不同的应用名称。 (将原来的app_name字符串资源从strings.xml文件中删除。
但是,我们如何为这个从build.gradle 添加的字符串资源添加本地化字符串呢?
我们可以传递一个额外的参数来指定语言环境吗?
或
可以使用gradle 任务来完成吗?
注意:我无法使用 strings.xml 来执行此操作(由于我的项目结构有多种方式,这是不可行的)
【问题讨论】:
-
我认为如果你需要本地化它,那么可能不应该在 gradle 上。例如,主要用途是拥有两个不同的 API 密钥,一个用于 Prod,一个用于 Dev。
-
在我的情况下,产品风格不是针对环境,而是针对应用程序的不同变体。所有这些都投入生产。我的环境是通过构建类型控制的。不能为每种口味使用单独的 xml,因为我有很多而且还在不断增加。因此选择通过 gradle 来实现。
-
很抱歉提供
strings.xml解决方案,但我认为您不能这样做。如果您有分离问题,您可以根据本地化内容添加不同的res.srcDirs,但您添加的文件夹可以包含多个values-<lang>/strings.xml文件。 -
顺便说一句,我认为这只会更改启动器图标的标签,可能是设置应用程序中的标题,但 Play 商店中的应用程序名称取决于您在开发者控制台中输入的内容,它是本地化。
-
是的,这就是我想要的
标签: android android-studio android-gradle-plugin android-resources android-productflavors