Android 组件化之路 资源冲突问题
来源:互联网 发布:听力灵敏度测试软件 编辑:程序博客网 时间:2024/05/22 05:25
比如我现在有3个模块:app模块,user模块,me模块,其中app模块依赖user模块和me模块。
然后我在user模块和me模块的strings.xml中都定义了greet字符串:
// user模块<resources> ... <string name="greet">Hello!</string> ...</resources>// me模块<resources> ... <string name="greet">Hi!</string> ...</resources>
然后在app模块引用greet这个字符串:
// app模块<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="30dp" android:text="@string/greet" />
那么问题来了,app模块引用的greet是user模块的呢,还是me模块的呢??这里出现资源冲突问题!!
解决办法比较容易,每个子模块给资源名添加前缀,具体做法是在每个子模块的build.gradle文件的android块内添加一行代码:resourcePrefix “资源名前缀”:
// me模块的build.gradle文件...android { compileSdkVersion 25 buildToolsVersion "25.0.3" resourcePrefix "me_" ...}...// user模块的build.gradle文件...android { compileSdkVersion 25 buildToolsVersion "25.0.3" resourcePrefix "user_" ...}...
此时,你会发现,你定义的xml资源文件会报错!!为啥?
我天真的以为AS会自动帮我们的资源名自动加上前缀,原来写了这段代码之后,AS会约束我们定义资源时,要我们手动加上前缀,否则报错!!所以只是起约束作用!!
改正错误之后,资源文件变成这样了:
// user模块<resources> ... <string name="user_greet">Hello!</string> ...</resources>// me模块<resources> ... <string name="me_greet">Hi!</string> ...</resources>
这样app引用的时候,就不会混乱了!!
如果你还知道其他方法,请不吝赐教!!
阅读全文
0 0
- Android 组件化之路 资源冲突问题
- 关于android资源冲突问题
- Android应用程序插件化研究之资源冲突
- 插件化研究之资源冲突
- Android 组件冲突
- Android问题集之编译冲突
- 扩展 DLL资源冲突问题
- Android开发之UI库及组件资源
- Android开发之UI库及组件资源
- Android开发之UI库及组件资源
- Android 组件化之路 路由设计
- Android 开发冲突问题
- android 事件冲突问题
- android 滑动冲突问题
- Android 问题之找不到资源解决办法
- 【安卓学习之常见问题】 ScrollView与其他组件的冲突问题
- Spring缓存池组件冲突问题
- 解决android中HorizontalScrollView的滚动事件与组件的Touch冲突问题
- HTML笔记-5
- PHP3 设计模式、COMPOSER、异常处理
- 为什么离不开 Stackoverflow?
- js实现图片上传预览及进度圆圈
- 04-Hprose总结
- Android 组件化之路 资源冲突问题
- 关于图片的剪切上传
- 【A ByteOf Python2.7】第13章 异常
- volatile关键字解析
- 三、关联式容器--有序
- 水题笔记: codevs1081 线段树练习2 [重口味线段树(区间修改)]
- PHP2 MVC
- windows 搭建mongo
- session 、cookie、token的区别