我有一个 android 项目和一个 android 库项目(我自己的)它所依赖的。 我正在使用maven,包括maven-android-plugin,用于自动化构建,Eclipse作为我的IDE,m2eclipse和m2e-android来桥接两者。
在大多数情况下,它工作正常:我可以从命令行进行 maven 构建,也可以从 Eclipse 构建。
但是,我半定期在 Eclipse 中收到一个主要 android 应用程序项目的构建错误,上面写着"项目配置不是最新的 pom.xml。运行 Maven->Update Project 或使用 Quick Fix"。 当我这样做时,它似乎弄乱了应用程序 project.properties 文件中从应用程序到库项目的相对路径。 具体而言,库项目的相对路径从正确的路径更改为反映项目在 Eclipse 工作区中的相对位置的路径。
示例:磁盘布局如下所示:
/库
--/我的库
/应用程序
--/我的应用
因此,从 my-app 到 my-lib 的正确相对路径是 ../../libs/my-lib.
但是,在我的 Eclipse 工作区中,my-app 和 my-lib 是兄弟姐妹,当我做 Maven-Update 项目时,它会更新 project.properties,使得 my-lib 的相对路径(即"android.library.reference.1=")变为"."。/我的库"。
因此,在 Eclipse 中,主应用程序中对库项目中符号的所有引用都出现编译错误。 如果我随后转到 Eclipse 中的 Android 属性对话框,在列出库项目的底部,我的库项目旁边有一个红色的 X。 如果我删除它并重新添加它,从而更正 project.properties 中的相对路径,那么一切又好了。
这有点麻烦。 知道如何解决它吗? 注意:尽管我描述的对相对路径的更改是正确的,但这只是一种理论,即这与 Eclipse 工作区中项目的相对位置有关 -- 这可能是巧合。
这是一个已知问题,目前正在处理:
https://github.com/rgladwell/m2e-android/issues/76