我们正在使用Android库项目在Android应用程序的不同构建(目标)之间共享核心类和资源.每个特定目标的Android项目都引用了Core库项目(在幕后,Eclipse创建并引用了引用的库项目中的jar).
覆盖图像和XML布局等资源非常简单.放置在目标项目中的资源文件(例如应用程序图标或XML布局)会在构建应用程序时自动覆盖核心库的资源,并使用相同的名称.但是,有时需要重写类以启用特定于目标的行为.例如,亚马逊目标偏好设置屏幕不能包含指向Google Play应用页面的链接,需要更改亚马逊项目的preferences.xml和偏好设置活动类.
目标是减少目标项目中重复代码的数量,同时尽可能从Core库中删除尽可能多的特定于目标的代码.我们已经提出了几种方法来实现特定于不同目标的逻辑:
是否有其他策略来覆盖或扩展Android库项目类?在Android应用目标中共享和扩展常见类的一些最佳做法是什么?