android - 在多个客户端项目中使用多个 android 库项目的不同版本(在 Eclipse 中)

标签 android eclipse android-library android-sdk-tools

首先,我从 google docs 获得了关于图书馆项目的大部分知识。以及此 article 中 android 构建系统的详细描述.

设置

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

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

所有构建和执行都很好。

问题

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

编辑

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

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

最佳答案

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

0) 先决条件:确保您的 .project 和 .classpath 文件已 promise 与您的项目一起 repo ....

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

2) 最终效果是,当您 check out 主项目时,您会自动 check out 子库目录中的依赖库。到目前为止一切顺利。

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

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

5) 每当有人 checkout 该项目时,库将以正确的版本 checkout ,唯一需要的额外步骤是重复第 3 点)- 为 subrepo 添加新的 Java 项目并为项目指定一个唯一的名称...那就是关于它(Eclipse 将在内部引用 subrepo/library 目录而不是唯一名称)

关于android - 在多个客户端项目中使用多个 android 库项目的不同版本(在 Eclipse 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6527834/

相关文章:

android - 如何在做一些工作时在 View 上显示 ProgressBar?

android - Genymotion 上的 ARM 翻译

android - 在Flutter项目上创建Android库

android - Ant 每次都重建库项目

java - Eclipse RCP - 如何在 Eclipse ScrolledForm 的标题栏上添加鼠标监听器

Android 库拒绝创建 R.java,除非构建为 com.android.application

java - 从相机设备拍摄的照片中获取信息

android - 更改 Drawable 的颜色平衡

java - 在tomcat中更改属性文件时出错

eclipse - 在 Eclipse 中显示 Maven War Overlay 文件