Библиотека разрешает путь без файла 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" в разделе "Дополнительные".