gpt4 book ai didi

android - 如何使用构建类型(调试与发布)来设置不同的样式和应用程序名称?

转载 作者:可可西里 更新时间:2023-11-01 19:03:05 26 4
gpt4 key购买 nike

背景

在 Android Studio 上,你可以有不同的构建类型,每个都有自己的配置,类似于 product-flavors(如图 here )

问题

我希望每次我在某个地方安装我的应用程序时,我都能立即知道它是哪种类型——发布或调试,只需查看它。

为此,我想我可以使用 build.gradle 文件:

buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
debuggable true
}
}

问题是,我不知道该放什么。我希望应用程序名称不同(但在字符串文件中有字符串,因为它是翻译的),我想将应用程序中的某些内容的样式设置为不同(例如,操作栏的颜色) .

我发现我可以使用“resValue”(找到它 here ),但出于某种原因,无论我做什么,它都不会编译:

  • 如果资源已经被声明(比如在 app-name 中,它被翻译),它说资源是重复的
  • 如果未声明资源,我无法通过代码/xml 访问它。

问题

如何为构建类型使用不同的资源值,即使它们已经存在?

最佳答案

How do I use different resource values for the build types, even if they already exist?

它们已经存在于 main 源集中。为您感兴趣的其他构建类型添加其他源集,您可以在其中覆盖所需的资源。

例如,在 this sample project 中我有一个 main 源集和一个 debug 源集。两者在 res/values/strings.xml 中都有 app_name 字符串资源,但具有不同的值。在 debug 构建中,将使用资源的 debug sourceset 版本;在任何其他构建中(例如,release),debug 源集将被完全忽略,并使用资源的 main 源集版本。

请注意,我没有有一个release 资源集。特别是在覆盖资源时,这非常好——当您想要为构建类型更改某些内容时,您只需要一个构建类型的源集,而不是为您正在使用的每个构建类型。

关于android - 如何使用构建类型(调试与发布)来设置不同的样式和应用程序名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30279304/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com