美文网首页
组件化R文件冲突

组件化R文件冲突

作者: couriravant | 来源:发表于2023-07-12 20:28 被阅读0次

在 Android 的日常开发中,我们会使用到大量的第三方库或者自己编写的组件库,这些依赖库中资源加上主工程本身的资源,可能会发生同名冲突,会发生资源相互覆盖的现象。
常用的解决方案:
1.在 module 中的所有资源前加上它的 module 名称,例如library_help_text

  1. 在app模块引用greet字符串就会出现资源冲突问题。解决方法也挺简单,就是给每个子模块给资源名添加前缀,具体做法是在每个子模块的build.gradle文件的android块内添加一行代码:resourcePrefix “资源名前缀”。

// me模块的build.gradle文件...android {

compileSdkVersion 27
buildToolsVersion "27.0.3"

resourcePrefix "me_"

...}...// user模块的build.gradle文件...android {

compileSdkVersion 27
buildToolsVersion "27.0.3"

resourcePrefix "user_"

...}...

如果修改后,那么对应的资源文件也要做相应的修改。

// user模块
<resources> ...
<string name="user_greet">Hello!</string> ...</resources>

// me模块
<resources> ...
<string name="me_greet">Hi!</string> ...</resources>

  1. 设置android.nonTransitiveRClass=true
    在使用时,如app引用a module 下的red 颜色资源,需要从从R.color.red改为 com.excample.a.R.color.red.
  2. 啥都不做,自己命名的时候多注意,别重复

refer:
https://juejin.cn/post/7170562275374268447
https://www.epubit.com/articleDetails?id=Na133fc81-af1b-4669-bfa5-0556dd825df7
https://juejin.cn/post/7096344799103418399
https://juejin.cn/post/6844903993894780942

相关文章

  • 使用Cocoapods管理iOS组件入门

    1.创建组件 执行完成后打开工程目录如图: 将组件文件创建在图中ReplaceMe.m文件位置,将组件文件存储在R...

  • toDoList案例

    1.组件化编码流程(1)拆分静态组件:组件要按照功能点拆分,命名不要与 html 元素冲突(2)实现动态组件:考虑...

  • 06-组件化使用(加载xib、图片资源)

    1、组件化中含有xib文件 在组件化中已经把组件化的基本过程描述清楚了,下面来说说 组件化 使用过程中遇到的问题 ...

  • 游戏模块化

    因为可能以后要把好几个游戏集在一起,所以模块化可以避免命名冲突等问题。 新建模板文件 -- 新建EUI组件

  • 组件化开发心法

    组件化编码流程拆分静态组件:按照功能点拆分,命名不要冲突实现动态组件,一个组件用的数据放在该组件身上,一些组件公用...

  • iOS-热更新/组件化/跨平台开发

    一、组件化 组件化步骤 1.每创建一个组件都会带有一个xxx.podspec的索引文件。专门用来存放这些索引文件的...

  • vue学习(37)TodoList案例总结

    知识点 1.组件化编码流程  (1).拆分静态组件:组件要按照功能点拆分,命名不要和html元素名冲突。  (2)...

  • 组件化初探

    一、创建本地组件化 首先创建一个存储组件化的文件夹:例如 cd到这个文件夹中,使用下边命令创建本地组件库(注:我在...

  • Angular项目目录结构

    angular结构 主要文件 模块化组件化开发模式 创建组件命令 引用组件 数据绑定

  • Android启动页出现白屏、黑屏的解决方案

    项目使用的是组件化,需要在初始化时解析各组件对配置文件,然后分发配置文件初始化组件,这些繁杂操作得在applica...

网友评论

      本文标题:组件化R文件冲突

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