-
方法一:
保护某些 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 seekBarStyle = 0x7f0100ba;
Android模块化开发遇到的问题: 资源名冲突的问题
最新推荐文章于 2023-02-09 17:11:11 发布