1

首先,我从google 文档中获得了关于库项目的大部分知识,并在本文中详细描述了 android 构建系统。

设置

在我的 Eclipse 工作区中,我有几个导入 android 库的客户端项目。每个客户端导入一组不同的库,并且一些库相互导入。

每个客户端都有自己的 subversion 存储库,所有库都在一个 subversion 存储库中。

所有构建和执行都很好。

问题

  1. 客户端项目和库没有同步发展。一些客户项目需要旧版本的库。必须在 Eclipse 中创建大量项目。某些库项目必须从库存储库的不同修订版中多次创建。
  2. 我需要有很多库,因为对于单个库项目,它的所有资源最终都会在客户端项目中,即使客户端实际上不使用它们中的任何一个。我在这里吗?
  3. 我将同一库的不同版本检出到工作区中。使用 Eclipse 无法导入多个库项目,因为 Eclipse 项目在 .project 文件中具有相同的名称(当尝试导入第二个时,Eclipse 会抱怨这一点)
  4. 蚀??

编辑

Jarek Potiuk 的答案很有效。但它只是解决了第 3 点中描述的问题。我仍然必须在 Eclipse 中单独创建每个库项目。

是否有不需要在 Eclipse 中为每个导入的库项目创建项目的解决方案?有人有蚂蚁的工作解决方案吗?

4

1 回答 1

2

让我解释一下我们如何处理它。我们正在使用 mercurial subrepo,但在您的情况下使用 svn:externals 应该完全相同。

0)先决条件:确保您的 .project 和 .classpath 文件已提交到您的项目的 repo ....

1)在主项目中,我们有一个“subrepo”目录,我们将所有外部库(作为子目录)保存在那里。在 mercurial 中,它是使用 subrepo 完成的,在 svn 中,您应该能够使用 svn:externals 配置链接到特定版本的库(SVN 标记或分支 URL):http: //svnbook.red-bean.com/en/1.0 /ch07s03.html

2)净效果是,当您签出主项目时,您会自动签出 subrepo 目录中的依赖库。到目前为止,一切都很好。

3)现在在eclipse中你得到主目录失败,因为它没有链接库.....你在这种情况下做什么 - “添加新Java项目”,输入唯一的项目名称(例如libraryprojectname-mainprojectname .取消选中“使用默认位置”并浏览到subrepo的库。Eclipse将从现有的.project中为您配置项目。将此项目添加为Android中的依赖项目,也可能在eclipse中...注意!唯一名称不会改变.project 名称,但它会让 eclipse 检出一个以上的库项目.....

4) 现在,当您的项目编译提交所有内容(包括 .project 和 .classpath 文件)到 repo...

(无论如何,Eclipse 将在内部引用 subrepo/library 目录而不是唯一名称)

于 2011-06-29T22:21:42.747 回答