我有以下问题:我或多或少地同时处理许多不同的应用程序(每隔几个小时在应用程序之间切换)。他们每个人都在使用自己打包的(git 子模块)操作栏 sherlock。为了编译和运行每个应用程序,我必须确保库项目在 eclipse 中打开。
现在eclipse只允许打开一个项目的一个实例。所以我编译应用程序的解决方法是:
- 删除操作栏 sherlock 项目(属于另一个应用程序)
- 导入action bar sherlock项目(属于这个app)
- 构建并运行
有没有更方便的方法来做到这一点?
我有以下问题:我或多或少地同时处理许多不同的应用程序(每隔几个小时在应用程序之间切换)。他们每个人都在使用自己打包的(git 子模块)操作栏 sherlock。为了编译和运行每个应用程序,我必须确保库项目在 eclipse 中打开。
现在eclipse只允许打开一个项目的一个实例。所以我编译应用程序的解决方法是:
有没有更方便的方法来做到这一点?
这种方式的劳动工作不多。更好的方法是为所有项目保留通用的“sherlock”库。如果根据项目有任何自定义,请在其间再添加一层。例如
例如,您当前的情况类似于:
public class Project1YourActivity extends sherlockActivity{
}
public class Project2YourActivity extends sherlockActivity{
}
现在您的问题是您根据项目要求对“shrelok”库进行了一些更改,对吗?这就是为什么您需要为每个项目保留单独的副本。
在这种情况下,您可以在所有项目的工作区中保留通用的“Sharelok”库。
项目1
在您的项目中创建分层活动,例如
public class Project1ShareLokActivity extends sherlockActivity{
// customize sharelokactivity here as per your requirement.
}
public class Project1YourActivity extends Project1ShareLokActivity{
// Now Extend youractivity by customized sharelokactivity rather sherlockActivity directly
}
从不同分支运行相同的应用程序时,我遇到了同样的问题。我通常做的是在 Eclipse 的导入向导中,我更改项目的名称以指示其细节。
它不会干扰类路径配置,因为它不会更改项目的目录。
当我需要为特定项目使用库时,我总是用项目的前缀命名它:myApp-ActionBarSherlock
在这种情况下。
然而,在我看来,这几乎从来都不是一件好事。编写代码的一个好方法是保持模块化,这意味着如果你想明天从 github 为 sherlock 拉更新,你应该能够不需要以任何方式合并/修改你的代码。
对于样式更改(假设使用sherlock,我想将样式更改为不同的颜色),我使用各种中间件项目,因此项目结构是:
libSherlock 附加到 styleCustomizationsLib,它作为库项目附加到我的主应用程序。如果你看过一个叫做HoloEverywhere
他们的项目,他们做的事情几乎一样。
你应该做的是复制你的每一个工作区,这样你就可以一次独立地运行你的应用程序!
但是,如果您只在单个工作区中工作,则解决方案是导入库 sherlock 并配置每个项目并摆脱自己。