当使用Android库时,如果多个项目(主要或库)定义了相同的资源,则使用优先级较高的项目副本并替换前一个项目。
这在编写可重用库时会出现问题,因为它会强制您为每个资源名称添加前缀以避免冲突。有关该主题的更多信息,请参阅Android Parcel Project。
现在我要做的是一个脚本,在编译之前,它将使用包名称为所有库中的每个资源的名称添加前缀。为此,我打算使用生成的ant构建脚本并向其添加自定义步骤。
你知道这是否可行?您是否看到了解决此问题的更好解决方案?
答案 0 :(得分:1)
你知道这是否可能吗?
如果您有库的源代码,我想您可以这样做。我怀疑,动态引用资源ID的任何地方(反射,getIdentifier()
等)都必须手动调整。鉴于您修改了代码,您可能无法从图书馆作者那里获得帮助。
我还试图说服图书馆作者在他们图书馆的未来版本中添加资源前缀。