Android应用程序对Maven->更新项目后破解的android库项目的引用

时间:2012-06-01 13:56:54

标签: android maven m2eclipse android-maven-plugin

我有一个Android项目和一个依赖于它的android库项目(我自己的)。我正在使用maven,包括maven-android-plugin,用于自动构建,Eclipse用作我的IDE,使用m2eclipse和m2e-android来连接两者。

在大多数情况下,它工作正常:我可以从命令行执行maven构建,也可以从Eclipse构建。

但是,我半定期在Eclipse中为主要的Android应用程序项目获取构建错误,该项目显示“项目配置与pom.xml不同。运行Maven->更新项目或使用快速修复。 ”。当我这样做时,似乎搞乱了应用程序的project.properties文件中从应用程序到库项目的相对路径。具体来说,库项目的相对路径从正确的路径更改为一个,反映了Eclipse工作区中项目的相对位置。

示例:磁盘布局如下所示:

/库
  - / my-lib
/应用
  - / my-app

因此,从my-app到my-lib的正确相对路径是../../ libs / my-lib。

然而,在我的Eclipse工作区中,my-app和my-lib是兄弟姐妹,当我做Maven-Update项目时,它会更新project.properties,以便my-lib的相对路径(即“android.library。 reference.1 =“)变成”../ my-lib“。

因此,在Eclipse中,我将主应用程序中的所有引用的编译错误发送到库项目中的符号。如果我然后转到Eclipse中的Android属性对话框,在列出库项目的底部,我的库项目旁边有一个红色的X.如果我删除它并将其添加回来,从而更正project.properties中的相对路径,那么一切都很好。

这有点令人讨厌。知道怎么解决吗?注意:虽然我所描述的相对路径的更改是正确的,但这只是一个理论,它与Eclipse工作区中项目的相对位置有关 - 这可能是巧合。

1 个答案:

答案 0 :(得分:1)

这是一个已知问题,目前正在进行中:

https://github.com/rgladwell/m2e-android/issues/76