1

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

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

但是,我经常在 Eclipse 中为主要的 android 应用程序项目生成一个构建错误,上面写着“项目配置不是最新的 pom.xml。运行 Maven->更新项目或使用快速修复。”。当我这样做时,它似乎弄乱了应用程序的 project.properties 文件中从应用程序到库项目的相对路径。具体来说,库项目的相对路径从正确的一个更改为一个反映项目在 Eclipse 工作区中的相对位置的路径。

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

/libs
-- /my-lib
/apps
-- /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 工作区中的相对位置有关——这可能是巧合。

4

1 回答 1

1

这是一个已知问题,目前正在处理:

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

于 2012-06-11T11:28:00.117 回答