2011-02-07 61 views
13

我使用eclipse,Android Development Tools (ADT) pluginmaven-android-plugin开发Android应用程序。在Eclipse中包含maven依赖项“Run As - > Android Application”build

在命令行上构建和安装应用程序(mvn install/adb install)工作正常 - 特别是它包含了在pom.xml中指定的所有依赖关系。

通过eclipse(Run as - > Android Application)将应用程序部署到Android不会自动将依赖关系放入apk文件 - 尽管在pom.xml中指定。我还没有在eclipse项目Build Path -> Libraries对话框中明确地声明它们。

有没有一种方法,使日食包括在pom.xml中定义的依赖关系,而不在项目构建路径definig他们两次 - >库

编辑:澄清 - eclipse项目包括一个“Maven Dependencies”条目,其中包含在pom.xml中指定的所有依赖项。但是通过“Run As - > Android Application”安装时,这些依赖关系不会包含在apk中。要包含它们,每一个都必须在“Java Build Path - > Libraries”对话框中额外添加。这是痛苦!

+0

听起来像插件中的错误或缺少的功能,maven知道如何处理它,但在eclipse下的项目没有。你可以做一个“Maven”导入到eclipse,这是打开文件 - >导入 - > maven项目或类似的东西,然后它可能会自动更新构建路径? – codeScriber 2011-02-07 16:31:13

+1

@codeScriber maven导入工作正常。所有依赖项都出现在“Maven Dependencies”条目中 - 所以开发不是问题。但是,除非每个依赖库都明确添加(添加外部JAR ...)到Java Build Path对话框中的Libraries选项卡,否则它们不会与应用程序一起安装(连接到模拟器)。 – FrVaBe 2011-02-07 16:36:41

+0

@ K.Claszen没错。只要我将facebook lib添加为外部jar,一切都开始工作。 但是,你有没有想过如何以更“正常”的方式解决这个问题?我的意思是,如果你不得不手动添加你的库,那么这有点像Maven一样。 – 2011-10-14 14:02:33

回答

4

我启用了“Maven Dependencies” - 勾选项目“Java Build Path”配置中的“Order and Export”,并且似乎包含所有Maven依赖关系。

这些依赖关系(编译范围)被放到target/android-classes中(并且它们中有很多,大多数是内部项目的快照,大约10个)。我还有一些其他困难,但可能与m2eclipse android集成插件(至少在Windows 7上)有关。

为了让我的正确设置Maven项目的运行,我不得不:

无论是进口作为Maven项目或...

干净先前创建的Eclipse文件(MVN蚀:干净,MVN日食:日食) ,然后启用该项目的Maven依赖解析,熟练的Java构建路径(gen-> target/android-classes,src-> target/classes,默认输出文件夹 - > android-classes)并导出Maven Dependencies(启用复选标记)。

我偶然发现的一件事是这个“无法找到* .apk!”运行或调试android应用程序时出错。我可以通过为使用的执行环境使用32位jdk来解决这个问题。

相关问题