12

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

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

我使用 Sherlock 库项目的相对路径将环境变量传递给 ant:

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

4 回答 4

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
于 2014-05-14T15:43:18.050 回答
3

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

我不确定它为什么有效。为什么 ant 会关心属性是由 Jenkins 传入还是在项目的属性文件中声明?

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

于 2013-04-12T19:19:45.233 回答
0

我遇到了类似的错误../google-play-services_lib resolve to a path with no project.properties file for project 的问题。它必须在 Jenkins CI (Cloudbees) 中工作,因此无需手动编辑 project.properties。

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

于 2015-04-14T05:55:46.130 回答
0

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

我通过运行android和下载附加部分中的“Google Play 服务”解决了这个问题。

于 2015-07-29T21:22:24.647 回答