Android 属性文件,该文件的变量根据当前构建变量持有不同的值
我有一个Android 属性文件,该文件的变量根据当前构建变量持有不同的值,android,android-studio,properties-file,Android,Android Studio,Properties File,我有一个.property文件,目前是这样的: com.myapp.token=myGenericString 我想要的是对不同的构建变量有不同的值。比如: if (BuildConfig == Release) { com.myapp.token = myReleaseString } else { com.myapp.token = myOtherString } 我是Android新手,所以我甚至不确定它是否可能。 有什么建议吗?谢谢 .properties不支持这一点,
.property
文件,目前是这样的:
com.myapp.token=myGenericString
我想要的是对不同的构建变量有不同的值。比如:
if (BuildConfig == Release) {
com.myapp.token = myReleaseString
} else {
com.myapp.token = myOtherString
}
我是Android新手,所以我甚至不确定它是否可能。
有什么建议吗?谢谢
.properties
不支持这一点,但您可以使用,例如:
app/src/main/res/values/strings.xml和app/src/debug/res/values/strings.xml
人们甚至不必在代码上有所不同,资源位置正在内部更改。当您在main
目录(别名“source set”)旁边创建debug
目录时,我似乎只有一个strings.xml
文件位于app/src/main/res/values/
@carlodonz中,这些文件将在调试模式下重载。这也适用于其他资源和类,这些资源和类仅在调试模式下可用。对于Manifest.xml
来说,这同样有效。问题是我使用的是一个外部框架,在安装指南中,他们说使用.properties
文件。但我希望基于发布或其他方面对它有不同的价值else@carlodonz我已经在我的回答中解释了这一点……虽然您不介意告诉我它是哪种框架,但我只能告诉您,这种方法将一事无成——而您的示例可以使用调试资源完成,不必告诉框架使用哪个版本的文件。当然,我可以告诉你,它是针对Android的NewRelic,特别是步骤5。“仅限ProGuard:创建一个newrelic.properties
文件。在项目的根目录(projectname/app)中,添加一个newrelic.properties
文件,其中包含以下设置:com.newrelic.application\u token=您的\u token