首先,我对google docs中的库项目以及此article中的android构建系统的详细说明了解了大部分知识。
设置
在我的Eclipse工作区中,我有几个导入android库的客户端项目。每个客户端都导入一组不同的库,还有一些库互相导入。
每个客户端都有自己的subversion存储库,所有库都在一个单独的subversion存储库中。
所有构建并执行良好。
问题
修改
Jarek Potiuk的答案有效。但它只是解决了第3点中描述的问题。我仍然需要在Eclipse中单独创建每个库项目。
是否有一个解决方案,我不需要在Eclipse中为每个导入的库项目创建项目?有人和蚂蚁一起工作解决方案吗?
答案 0 :(得分: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项目”,输入UNIQUE项目名称(例如libraryprojectname-mainprojectname。取消选中“使用默认位置”并浏览到subrepo的库.Eclipse将从现有的.project中为你配置项目。将此项目添加为Android中的依赖项目,也可能在eclipse中添加...注意!UNIQUE名称不会改变.project名称,但它会让eclipse检出你的多个库项目......
4)现在,当您的项目编译时,将所有内容(包括.project和.classpath文件)提交到repo ...
5)每当有人签出项目时,库将以适当的版本签出,唯一需要的额外步骤是重复第3点) - 为subrepo添加新的Java Project并为项目提供一个唯一的名称...这是关于它(Eclipse将无论如何在内部引用subrepo / library目录而不是唯一名称)