android - 在 Android 应用程序存储库中管理依赖项的最简单方法是什么?

标签 android eclipse maven ant

我想制作一个依赖于其他第 3 方库的 Android 应用程序,即 ActionBarSherlock ,并使用 Git 在源代码管理中跟踪应用程序的开发。我还想让其他开发人员更轻松地帮助我开发该应用程序。开发人员应该能够通过一两个简单的步骤构建应用。

我想在尽可能简单的环境中开发应用程序。我试过使用 Android Maven Plugin ,并且我尝试在 Eclipse 中设置 Maven 集成。我发现这个过程非常不直观且不必要地复杂。

是否可以使用 Git 子模块管理项目依赖项,并使用一个非常简单的构建系统(可能基于 Ant)来链接任何依赖项、调试、安装和签署/部署 .apk

理想情况下,我想做如下事情:

$ git clone git@github.com:me/myapp.git # clone the repo
$ cd myapp # enter the app directory
$ git submodule init && git submodule update # initialize dependencies
$ ant debug install # build & run app

此外,我希望能够在 IDE 中开发该应用程序。 IDE 应该具有智能感知和自动完成功能(Vim 可以工作,但我喜欢类似于 Eclipse 自动添加创建派生类时必须覆盖的方法的方式)。从 IDE 构建和运行应用程序应该只执行适当的 Ant 命令。

实现上述设置的最简单方法是什么?即:

  1. 作为子模块(或类似模块)管理的依赖项
  2. 简单的构建工具
  3. 集成了构建工具和自动完成/智能感知的 IDE

最佳答案

我认为管理依赖项的最简单方法是 Android SDK 提供的默认方法。我同意 Maven 非常不直观且不必要地复杂。此外,Maven 不受 Android 团队的正式支持。

您只需要一个好的 VCS,例如 Git 或 Mercurial。

  • 将所有*.jar文件放入子文件夹/libs;
  • 在 Eclipse 中,右键单击项目然后选择刷新

要使用命令行以 release 模式部署 APK,您只需要一个 ant.properties,例如:

key.store=/path-to-key-store
key.alias=alias-name
key.store.password=password
key.alias.password=alias-password

和:

$ ant clean release

或者,

$ ant clean release install


编辑

抱歉,我忘记了 Git 子模块。我以前从未使用过 Git,只是阅读了 some info here .我认为子模块就像带有源代码的子项目。如果是这样,事情也很容易。例如,您有宿主项目 A 和子项目 B(这是一个库):

A
|__ submodules
    |__ B

要包含库 B,请打开 A/project.properties 并添加以下行:

android.library.reference.1=submodules/B

或者您可以通过右键单击 A 让 Eclipse 管理它,选择 Properties,选择 Android 选项卡,然后添加 B Library 框。

关于android - 在 Android 应用程序存储库中管理依赖项的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15217734/

相关文章:

eclipse - 如何通过 yum 为 Eclipse Helios 获取 Java、Java EE 和 Hibernate 插件?

maven - 在 Nexus 中部署 Artifact 时出错

git - 使用 Vincent Driessen 的分支模型在 git 存储库中进行 Maven 版本控制

android - 将 'ant clean test' 与最新的 android sdk 一起使用。 '${renderscript.opt.level}' 不是 com.android.ant.RenderScriptTask$OptLevel 的允许值

android - 如何在 Android Camera Preview 中创建 Lomo/复古效果?

eclipse - 在 Eclipse Package Explorer 和搜索中更改字体大小

scala - 从SBT发布到本地Maven存储库

android - 测试或开发时从 Android App 禁用 GoogleAnalytics

android - 从 Activity 完成异步后在 Fragment 上填充 ListView

eclipse - 如何清除 .m2 Maven 文件夹?