Android模块化开发遇到的问题: 资源名冲突的问题

方法一:
保护某些 resources 不被外部访问,可以创建res/values/public.xml,因为 public 是关键词,所以需要用 new file 的方式创建。至少添加一行,未添加的视为 private。(经验证,好像没有效果,知道的大神帮忙留言,最好是code,谢谢)

<resources>
    <public name="mylib_app_name" type="string"/>
</resources>


方法二:推荐方法
在 library 的 build.gradle 中添加 resourcePrefix , 则所有的资源须以此 prefix 开头,否则报错。注意,图片资源虽然不提示报错误,但是也需要修改名字。(这种方式,说白了就是用resourcePrefix来约束你资源文件的命名,因为你如果命名不加这个前缀,xml会报错,当然你可以添加一行忽略代码,但是那样又和我们加前缀的初衷背道而驰了,所以还是乖乖的加前缀吧;xml文件名称要改,xml文件中name也要改;记住,是res文件夹下面的所有你自定义的name;除了values文件夹中的xml文件名称不需要更改外,其它的资源文件xml名称前也要加前缀;)

android {
    ...
    buildTypes {
    ...
    }
    resourcePrefix 'my_prefix_'
}


还有个注意事项:
我们知道主工程中,不同的xml中可以将控件命名为相同的id,因为是唯一的final
 public static final int seekbar=0x7f0b006e;
但是在module中,如果ID相同,会不起作用,因为不是final,所以在module中的不同xml中的ID命名还是保持唯一比较好
 public static int seekBarSt
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值