我正在尝试通过Ant构建一个应用程序(让我们称之为android-app
)依赖于SDK(让我们称之为sdk
)。此计算机上未安装Eclipse(出于推理,它是Jenkins的CI框)。
两个项目并排在两个完全独立的目录中。 android-app
位于~/.jenkins/jobs/android-app/workspace
目录中,sdk
位于~/.jenkins/jobs/sdk/workspace
目录中。
让我们假设这两个项目都是“vanilla”并且之前没有使用Ant构建。我cd
到../android-app/workspace
目录并运行android update project -p . --library ~/.jenkins/jobs/sdk/workspace
。然后我cd
到../sdk/workspace
目录并运行android update project -p .
,它也会通过。
此时我cd
返回../android-app/workspace
目录并运行ant clean build
。它失败并出现错误:
BUILD FAILED
/path/to/ant/build.xml:440:
/path/to/sdk/workspace resolve to a path with no project.properties file for
project /path/to/android-app/workspace
...其中/path/to
是目录的完整路径。我在这里简化了它。
如果我cd
到sdk
工作区并打开project.properties
,我会收到以下内容:
# ProGuard
proguard.config=proguard.cfg
# Project target.
target=android-10
android.library=true
确实存在。所有这些文件也是如此:
那么,为什么会失败呢?我究竟做错了什么?我试图提供尽可能多的细节。如果我能提供任何额外的信息,请告诉我。
答案 0 :(得分:10)
嗯,我也遇到了这个问题。
我使用strace找出到底发生了什么,并发现你在project.properties中指定的路径将附加当前文件夹路径作为其前缀。
例如, / home / myfolder / project>蚂蚁调试
您在project.properties中指定的库是/ path / to / library
然后,路径将成为 /家庭/ MyFolder文件/项目/路径/要/库
答案 1 :(得分:2)
为了填补答案空白,我的Java版本完全关闭了。我非常尴尬。