4

当我们第一次开始为 android 开发时,我们有 2 个项目:一个用于“核心”功能,另一个用于“业务”功能。到目前为止一切顺利,我们经历了糟糕的时光,等待了这么多时间来编译 XML 更改,但生活仍然可以忍受。一段时间后,我们发展(或不发展)有 9 个项目。对于某些项目,我们有一个“测试”项目。我们也有一些库项目,例如,我们有两个用于不同版本的 android 的不同项目,我们有一个用于共享配置或控制器的“共享”项目。原因是我们的应用程序很大。当我们对核心项目进行一些更改时,我们通常必须重新编译,并使用 eclipse 来“清理”工作区。此外,我们通常必须使用“构建项目” 选择几次让项目更新它们的引用,第一次构建几乎没有编译所有东西,我们在我们的团队中称之为“COMBO”,它是“F5”和“CTRL+B”的组合来编译项目。所有这些设置都在浪费大量时间并使开发人员感到难过,就像一个由 6 名开发人员组成的团队:(

我知道到这个时候我们应该几乎知道所有问题和最佳选择,但我不敢相信它是这样的。经过这么多时间的搜索和尝试改进,我们似乎无法找到其他解决方案来缩短 android 的开发时间。

我们的工具集是:

  • 日食 4.2.1
  • ADT 21.1.0
  • Eclipse 颜色主题(用于可爱的代码)
  • SDK 始终更新

硬件:

  • Windows 7 专业版 64 位
  • 8 GB 内存
  • 英特尔酷睿 i5-3470 3.20GHz

我很想回答:

  • 编译时间改进:你有没有找到比 Eclipse 更快的 IDE?为什么?设置如何?使用 ADT 的缺点是什么?如何在使用多个项目时提高性能?
  • 项目参考管理,对如何加快构建有什么建议吗?我应该把整个源代码放在一个项目中吗?
  • 当您拥有设备并需要在测试应用程序时部署它时,有什么方法可以加快开发速度?
4

1 回答 1

7

Try Intellij.

In the latest version, 12, they made project build improvements that make it much faster than 11 and Eclipse.

Parallelization

Note also the third column, called Parallelized. This is a new compiler option which allows you to use more than one core for building a project. In this case the compiler runs for multiple independent project modules in parallel. Since each compiler thread uses file system, the benefit of parallelizing highly depends on how fast you hard drive is. Still the average gain in performance is spread between 10 and 20 percent for large projects.

Automatic Make

One more exciting compiler option added in IntelliJ IDEA 12 is automatic make. This is another time-saver, which triggers project make automatically on every change. Since the compiler runs in a separate process, it is able to compile modified files in the background, while you are doing something else. This means your project is in compiled state all the time, so you don’t need to wait any time you want to run it.

http://blogs.jetbrains.com/idea/tag/brand-new-compiler/

Also if you are using git for version control I have noticed Intellij is much better at updating after I switch branches. It integrates well with git and notices that you switched branches and refreshes and cleans out the project in the background automatically, while on Eclipse you might have to refresh and clean manually.

于 2013-04-19T16:51:34.510 回答