美文网首页
Android项目资源冲突

Android项目资源冲突

作者: 克罗克达尔 | 来源:发表于2020-12-28 13:41 被阅读0次

如果app和module存在相同的资源名称或属性名称,app的资源文件或属性值会覆盖module的资源文件或属性值。

比如app和module都有一个activity叫做MainActivity,它们的layout资源文件名字都为activity_main.xml,那么在加载module的MainActivity的时候,实际上显示的是app的activity_main.xml。

定义在resource file里面的属性也同样会存在相同的问题。app和module在strings.xml文件里面都有一个叫code的属性,但是在项目运行起来之后,在module获取code的值成了app的值。

所以在命名资源文件和属性名的时候,请参考《阿里巴巴Android开发手册》,在资源或属性名前面加上模块前缀。

也可以在module的gradle文件中加上

resourcePrefix 'library_'

来强制ide进行文件名或属性名检查。

resourcePrefix 注意事项

  1. 在gradle文件里面加了这个属性不会自动给xml文件或属性名加上prefix前缀,它的作用是给没有指定前缀名的xml文件或属性名一个错误;


    image.png
  2. 不包含图片文件。

相关文章

网友评论

      本文标题:Android项目资源冲突

      本文链接:https://www.haomeiwen.com/subject/rleznktx.html