在 Android 中为不同的平台版本设置单独的 XML 文件的目的是什么?

What's the purpose for having separate XML files for different platform versions in Android?

我目前正在处理一个遗留项目,该项目包含使用不同平台版本(如 v8)的各种文件,因此我有两个单独的文件 values-v8/strings.xmlvalues/strings.xml.

我看到资源文件附加了 -v8 或类似的东西表明它是一个单独的平台版本,但我不明白为什么这是必要的。

如果我将这些文件合二为一,会有什么不良影响吗?或者如果我要重构这些,有什么我应该注意的吗?

通常用于styles.xml,针对不同的平台级别有不同的样式。
将它用于 strings.xml 似乎有点 un-neccessary,而且我看不出有任何理由必须进行这种分离。

尽管如此,我们必须看到更多的项目才能理解为什么要进行分离。也许你有 XML 不同平台的布局,使用不同的字符串¯\_(ツ)_/¯

If I were to combine these files into one, are there any adverse effects?

它可能会导致 API 7 级和更旧的设备出现问题。

由于 API Level 7 是 Android 2.1,我真诚地希望您不再支持该版本。

如果您的 minSdkVersion 是 8 或更高版本,那么出现在两个文件中的任何字符串都是多余的,因为 Android 将只使用 res/values-v8/strings.xml 版本。因此,您可以合并它们,选择 -v8 个有重复的,并得到相同的结果。

I couldn't figure out why this is necessary

那东西大概是2011年左右写的。我们那时候干过各种稀奇古怪的事情