我有一个 android 项目和一个 android 库项目(我自己的)它依赖。我使用 Maven(包括 maven-android-plugin)进行自动构建,使用 Eclipse 作为我的 IDE,使用 m2eclipse 和 m2e-android 连接两者。
在大多数情况下,它工作正常:我可以从命令行进行 Maven 构建,也可以从 Eclipse 进行构建。
但是,我在 Eclipse 中时常遇到主 android 应用程序项目的构建错误,提示“项目配置不是最新的 pom.xml。运行 Maven->更新项目或使用快速修复。” .当我这样做时,它似乎弄乱了应用程序的 project.properties 文件中从应用程序到库项目的相对路径。具体来说,库项目的相对路径从正确的路径更改为反射(reflect)项目在 Eclipse 工作区中的相对位置的路径。
示例:磁盘布局如下所示:
/库
--/我的库
/应用
--/我的应用
因此,从 my-app 到 my-lib 的正确相对路径是 ../../libs/my-lib。
但是,在我的 Eclipse 工作区中,my-app 和 my-lib 是 sibling ,当我执行 Maven-Update 项目时,它会更新 project.properties,使 my-lib 的相对路径(即“android.library. reference.1=") 变为 "../my-lib"。
因此,在 Eclipse 中,主应用程序中对库项目中符号的所有引用都出现编译错误。如果我随后转到 Eclipse 中的 Android 属性对话框,在列出库项目的底部部分,我的库项目旁边有一个红色的 X。如果我删除它并重新添加它,从而更正 project.properties 中的相对路径,那么一切都会再次好起来。
这有点麻烦。知道如何解决吗?注意:虽然我描述的相对路径的更改是正确的,但这只是一种理论,这与项目在 Eclipse 工作区中的相对位置有关——这可能是巧合。
最佳答案
这是一个已知问题,目前正在处理:
关于Android 应用程序对 android 库项目的引用在 Maven-> 更新项目后中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10851655/