2013-04-11 74 views
12

我在用Jenkins构建我的项目并引用Sherlock项目库时遇到了问题。库解析为没有project.properties文件的路径

我可以用我的本地系统上的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 

回答

3

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

我不知道为什么它的工作原理。为什么蚂蚁会关心Jenkins传入的属性与项目属性文件中声明的属性?

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

+0

你在哪里添加了project.properties文件? – 2013-07-29 19:55:53

+0

感谢您的解决方案。不知道为什么你不能通过詹金斯不幸通过它:\ – 2013-09-09 00:30:00

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 
0

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

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

0

我有这个问题,因为我没有下载谷歌播放服务包使用android工具。当我检查我的android sdk目录($ ANDROID_HOME)时,没有“$ ANDROID_HOME/extras/google”文件夹。

我通过运行android并下载extras部分中的“Google Play服务”来修复此问题。