Когда я писал этот вопрос, мне удалось его решить, поэтому повторите его здесь для других. Вот начальная проблема:
Я создал очень простой проект библиотеки, на который хочу сослаться в другом проекте. Я делал это ранее без проблем, поэтому не совсем уверен, почему на этот раз это не работает. У меня есть:
Отметил проект библиотеки через свойства проекта. В
default.properties
файле есть такой набор:android.library=true
В другом моем проекте добавлена ссылка на мой проект библиотеки через свойства проекта. В
default.properties
файл добавлена ссылка, как и ожидалось, т.е.android.library.reference.1=K:/android_test_ws/applicationRegistrar
Зеленая галочка напротив проекта библиотеки, на которую имеется ссылка, сначала становится зеленой, а затем меняется на красный крест.
Это означает, что в проекте библиотеки должно быть что-то не так / отсутствует, но я не знаю что. Мой проект библиотеки по этому поводу НАМНОГО проще, чем предыдущий, который я создал.
Ответы:
Хорошо. Вот решение, которое я нашел, когда искал файл default.properies для ссылающегося проекта (не библиотеки) в моей файловой системе. Хотя ссылающийся проект находился в той же рабочей области eclipse, что и проект библиотеки, фактические файлы находились где-то еще в файловой системе, т.е. они не находились в той же родительской папке проекта библиотеки. Как только я поместил ссылающийся проект в ту же физическую папку, что и проект библиотеки, все прошло нормально.
Я предполагаю, что это должно быть как-то связано с андроидом, использующим муравей под крышками.
Изменить: имя проекта должно совпадать с именем папки в файловой системе. То, что вы видите в Project Properties-> Android-> Library Reference, - это относительный путь к файловой системе.
источник
Убедитесь, что оба проекта находятся в одном рабочем пространстве. Для этого при импорте проектов убедитесь, что установлен флажок «копировать проект в рабочую область».
источник
та же проблема возникнет, если ваш проект библиотеки находится в другом разделе от вашего текущего рабочего пространства. У меня сейчас такая же проблема. Мой источник git находится в C :, и я просто перемещаю свою рабочую область в D :, и все начинает рушиться.
источник
Самый простой способ получить правильные пути к библиотекам - использовать графический интерфейс Eclipse для добавления библиотеки, как показано на следующем снимке экрана, и позволить Eclipse позаботиться о том, чтобы указать правильные относительные пути в project.properties. Это обычная установка, когда ваши проекты библиотеки размещаются в каталогах, сильно отличающихся от ваших основных проектов, в которых используется библиотека. Этот метод будет работать, если «проект библиотеки» и проект, использующий его, находятся в одной и той же «рабочей области» затмения (им «не обязательно» находиться в одной родительской папке):
источник
Убедитесь, что проект библиотеки помечен как «Is Library» - щелкните правой кнопкой мыши проект библиотеки - свойства - Android - установите флажок «Is Library» - в project.properties проекта библиотеки у вас должна быть новая запись: «android .library = true. Теперь добавьте его в нужный проект, как описано в сообщении ниже (сообщение со встроенным изображением - от Nilesh Pawar).
источник
Эта ошибка упоминается здесь несколько раз 27199 , 35786 , 36460 и 38052
Может, голосуя за них, когда-нибудь это исправят ...
источник
Еще одно наблюдение по тому же вопросу.
Для меня два проекта находились в одной родительской папке и были локальными внутри рабочего пространства. Даже тогда проблема продолжалась.
Я отредактировал файл "project.properties" и поместил абсолютный путь (с косой чертой '/' для разделителя) проекта библиотеки. Сохранил и закрыл. Затем перешел в диалоговое окно свойств проекта, удалил библиотеку (в которой все еще отображался крестик, но с путем абс) и добавил ее как обычно. На удивление проблема решена, проект компилируется и запускается.
Это действительно странно и должно быть ошибкой ADT. Я использую ADT версии 20.0.2
источник
когда разработчик ссылается на facebook или любой другой проект библиотеки, сначала очистите проект от eclipse-> project-> clean project. которые хотите разрешить ошибку красного креста на экране привязки.
источник
Для меня я просто перезапускаю eclipse, и добавленная библиотека работает нормально.
Я имею в виду первый раз, когда он показывает красные метки после добавления проекта библиотеки. Хотя основной проект eclipse и проект библиотеки находятся в одной папке рабочей области, и файлы ресурсов не находятся вне папки проекта.
Итак, вы можете попробовать перезапустить затмение. Удачного кодирования ....
источник
Обходным решением для меня было
решил мою проблему
источник
У меня была такая же проблема, когда я пытался изменить свое рабочее пространство, поэтому это мое решение:
источник
Просто перезапустите затмение. Это решит мою проблему
источник
Когда вы посмотрите на путь ссылки до и после, он исходит, например, из «C: / workspace / mylib» и переходит в «../../mylib» при копировании в правильное место, что довольно интересно.
источник
FYI,
Что сработало для меня, так это удалить проекты «библиотеки» (фактические проекты) из моей рабочей области (без удаления файлов), а затем повторно импортировать их с помощью мастера (импортировать существующий проект Android из исходного кода).
источник
Спасибо за вопрос. У меня была точно такая же проблема при интеграции Facebook с моим Android-приложением. Я решил проблему, переместив свой проект разработки на тот же диск Windows, на котором находился проект библиотеки. Почему-то Eclipse не может правильно прочитать местоположение проекта библиотеки из файла default.properties, если он находится на другом диске.
источник
Как и в посте Суфи Хана, я тоже решил эту проблему с помощью перезагрузки. Мой случай отличался тем, что, когда я впервые зашел в Свойства-> Android и добавил библиотеку, я получил прекрасную зеленую галочку. Когда я закрыл диалоговое окно, Eclipse все еще показывал ошибки типа «класс не найден». Когда я снова проверил свойства, я увидел красный X. Но решение г-на Кана (удалить плохую библиотеку, перезапустить Eclipse, снова добавить библиотеку) работало нормально.
Я использую версию ADT 0702 (начинается с «кластер», рифмуется с «утка»).
источник
Я последовал принятому ответу, но также должен был убедиться, что мой файл "project.properties" доступен для чтения.
Если файл доступен только для чтения (зарегистрирован в системе управления версиями), eclipse не будет его редактировать. Добавление ссылки на библиотеку будет успешным, но изменение не будет сохранено после нажатия OK.
Если закрытие окна настроек и повторное открытие удаляет только что добавленную библиотеку, это может быть вашим решением.
источник
Если ваш проект библиотеки все еще не отображается, попробуйте добавить флаг библиотеки в свойствах проекта библиотеки.
Добавить android.library = true
project.properties
источник