Android 自动生成相应版本的资源文件

在打包apk的时候,如果某些资源文件里使用了高版本的标签,最终生成的apk中会自动生成相应版本的 资源文件夹 和 资源文件,例如:
layout 文件中使用了 android:layout_marginHorizontal="20dp" 标签,会额外生成一个 layout-v22 目录下的同名文件,最终将有两个layout文件,

  • layout/activity_main.xml
  • layout-v22/activity_main.xml

请问是否有办法在不改变编译版本的情况下,强制关闭这种自动生成逻辑,只在默认 layout 目录下保留一个 有高版本标签的 activity_main.xml 文件?
这种情况是否会导致低版本系统出现异常,低版本系统遇到未知的标签是会默认忽略,还是会加载失败并抛出异常?

你先得搞懂这两个目录是干嘛的,说的简单点就是为了兼容其他版本的Android设备才有的,所以你可以通过更改编译版本来取消该文件的生成。

参考资料:drawable-v21 drawable-v24资源适配文件_倒骑驴走着瞧的博客-CSDN博客