0

我有以下问题:我或多或少地同时处理许多不同的应用程序(每隔几个小时在应用程序之间切换)。他们每个人都在使用自己打包的(git 子模块)操作栏 sherlock。为了编译和运行每个应用程序,我必须确保库项目在 eclipse 中打开。

现在eclipse只允许打开一个项目的一个实例。所以我编译应用程序的解决方法是:

  1. 删除操作栏 sherlock 项目(属于另一个应用程序)
  2. 导入action bar sherlock项目(属于这个app)
  3. 构建并运行

有没有更方便的方法来做到这一点?

4

4 回答 4

1

这种方式的劳动工作不多。更好的方法是为所有项目保留通用的“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
}
于 2013-10-09T10:08:13.093 回答
1

从不同分支运行相同的应用程序时,我遇到了同样的问题。我通常做的是在 Eclipse 的导入向导中,我更改项目的名称以指示其细节。

它不会干扰类路径配置,因为它不会更改项目的目录。

于 2013-10-10T07:43:13.833 回答
0

当我需要为特定项目使用库时,我总是用项目的前缀命名它:myApp-ActionBarSherlock在这种情况下。

然而,在我看来,这几乎从来都不是一件好事。编写代码的一个好方法是保持模块化,这意味着如果你想明天从 github 为 sherlock 拉更新,你应该能够不需要以任何方式合并/修改你的代码。

对于样式更改(假设使用sherlock,我想将样式更改为不同的颜色),我使用各种中间件项目,因此项目结构是:

libSherlock 附加到 styleCustomizationsLib,它作为库项目附加到我的主应用程序。如果你看过一个叫做HoloEverywhere他们的项目,他们做的事情几乎一样。

于 2013-10-09T10:27:07.210 回答
-1

你应该做的是复制你的每一个工作区,这样你就可以一次独立地运行你的应用程序!

但是,如果您只在单个工作区中工作,则解决方案是导入库 sherlock 并配置每个项目并摆脱自己。

于 2013-10-09T10:05:56.200 回答