Библиотека разрешает путь без файла project.properties

Мне сложно создать проект с Дженкинсом и обратиться к библиотеке проектов Шерлока.

Я могу построить проект с ant в моей локальной системе. Кажется, что проблема связана с библиотекой Шерлок на сервере сборки.

Я передаю переменную окружения в 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

Ответ 1

У меня случилось то же самое со мной сейчас. Я использую как Windows, так и Mac для разработки. Я наблюдал за тем, чтобы проверить свой проект на обеих платформах. Он прекрасно работал на моей машине с Windows, но сломался на моем Mac. Когда я посмотрел на свои project.properties в своем приложении для Android (а не на библиотечных проектах) на Mac, я увидел, что мои проекты библиотеки были упомянуты следующим образом:

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

Я изменил его на строку ниже, и это сработало просто отлично!

android.library.reference.1=LibraryProjects/my_lib_project

Ответ 2

Я решил проблему, отредактировав и проверив файл project.properties с тем же свойством: android.library.reference.1=../../buildlibraries/androidlibraries/sherlock/library

Я не уверен, почему он работает. Почему бы ant ухаживать за тем, передано ли свойство Jenkins по сравнению с объявленным в файле свойств проекта?

Теперь у меня есть два пути в файле project.properties: один для локальной сборки и один для сборки на Jenkins.

Ответ 3

У меня была аналогичная проблема с ошибкой. /google -play-services_lib разрешить путь без файла project.properties для проекта. Он должен работать в 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.

Ответ 4

У меня была эта проблема, потому что я не загрузил пакет сервисов Google Play с помощью инструмента android. Когда я проверил каталог android sdk ($ ANDROID_HOME), не было папки $ANDROID_HOME/extras/google.

Я исправил это, запустив android и загрузив "Службы Google Play" в разделе "Дополнительные".