Java 替换库';她和我自己的同学上课

Java 替换库';她和我自己的同学上课,java,android,android-studio,Java,Android,Android Studio,我有一个第三方库,我必须将它集成到我的项目中。集成完成后,我可以根据需要调用和使用库。尽管如此,业务部门还是发现,在UI上进行一些定制更改将是一件令人惊讶的事情 库中有一个类(扩展RelativeLayout)负责所有UI事件。在检查代码之后,我意识到我只需要修改那个类 据我所知,我有两种解决方案: 扩展/覆盖每个相关类,并重新实现库UI 以某种方式欺骗系统,允许使用我的自定义RelativeLayout,而不是库的 在同一个包中复制自定义布局类时,出现错误: 发现重复的类 我无法构建该项目

我有一个第三方库,我必须将它集成到我的项目中。集成完成后,我可以根据需要调用和使用库。尽管如此,业务部门还是发现,在UI上进行一些定制更改将是一件令人惊讶的事情

库中有一个类(扩展RelativeLayout)负责所有UI事件。在检查代码之后,我意识到我只需要修改那个类

据我所知,我有两种解决方案:

  • 扩展/覆盖每个相关类,并重新实现库UI

  • 以某种方式欺骗系统,允许使用我的自定义RelativeLayout,而不是库的

在同一个包中复制自定义布局类时,出现错误:

发现重复的类 我无法构建该项目,因为工作室说我有两个具有相同package.classname的类


你知道我有什么方法可以欺骗系统使用我自己的类,而不实现/扩展相关组件吗?

如果这是一个开源库,请使用fork,修改这个类,然后使用fork。库不允许您注入自己的类吗?通常,库允许您创建自己的自定义类实现,该类遵循某种接口。然后你把它交给图书馆,它就这样快乐地继续着。或者有一些配置选项可以让您更改默认设置。如果没有,那么我会建议Commonware所说的内容,如果可以的话,我会把它交出来。如果没有,那么您将不得不放弃该库。@取消或与供应商达成一些许可协议,以获得对源代码的访问权。您是否正在启动库提供的使用您要更改的布局的某些活动?也许您可以扩展活动而不是布局,并启动您的版本。您可以在运行时查找和操作视图,而无需更改XML。