库解析为没有project.properties文件的路径

时间:2013-04-11 18:31:24

标签: android ant jenkins actionbarsherlock

我无法使用Jenkins构建项目并引用Sherlock项目库。

我可以在本地系统上使用ant构建项目。问题似乎是在构建服务器上引用Sherlock库。

我将环境变量传递给ant,其中包含Sherlock库项目的相对路径:

android.library.reference.1=../../buildlibraries/androidlibraries/sherlock/library

我收到了这个错误。

**BUILD FAILED**
/SDK/android-sdk-macosx/tools/ant/build.xml:595: 
The following error occurred while executing this line:
/SDK/android-sdk-macosx/tools/ant/build.xml:571: 
../../buildlibraries/androidlibraries/sherlock/library resolve to a path with 
no project.properties file for project /Users/Jenkins/buildlibraries/androidlibraries/sherlock/library

我检查过那个位置确实存在project.properties文件。

它具有以下属性:

android.library=true
# Project target.
target=android-14

4 个答案:

答案 0 :(得分:4)

我刚才有同样的事情发生在我身上。我使用Windows和Mac进行开发。我想在两个平台上测试我的项目。它在我的Windows机器上构建得很好,但在我的Mac上坏了。当我在Mac上查看我的Android应用程序(而不是库项目)中的project.properties时,我看到我的库项目以这种方式引用:

android.library.reference.1=LibraryProjects\\my_lib_project

我把它改成了下面的一行,它运作得很好!

android.library.reference.1=LibraryProjects/my_lib_project

答案 1 :(得分:3)

我通过编辑和检查具有相同属性的project.properties文件解决了这个问题:android.library.reference.1=../../buildlibraries/androidlibraries/sherlock/library

我不确定它为什么会起作用。为什么ant会关注Jenkins传入的属性与项目属性文件中声明的属性?

现在我的project.properties文件中有两个路径:一个用于本地构建,另一个用于构建在Jenkins上。

答案 2 :(得分:0)

我有类似的问题,错误 ../ google-play-services_lib解析为没有项目的project.properties文件的路径。它必须在Jenkins CI(Cloudbees)中工作,因此没有手动project.properties编辑。

我的解决方案是在Jenkins shell命令中用丑陋但android update lib-project --path ...替换echo "android.library.reference.1=../../../..$ANDROID_HOME/extras/google/google_play_services/libproject/google-play-services_lib" >> project.properties

答案 3 :(得分:0)

我遇到了这个问题,因为我没有使用android工具下载Google Play服务包。当我检查我的android sdk目录($ ANDROID_HOME)时,没有" $ ANDROID_HOME / extras / google"文件夹中。

我通过运行android并下载" Google Play服务"来解决此问题。在附加部分找到。