В eclipse не удалось ссылаться на проект библиотеки Android в другом проекте Android

Как я писал этот вопрос, мне удалось его решить, поэтому повторите его здесь для других. Вот начальная проблема:

Я создал очень простой библиотечный проект, который я хочу использовать в другом проекте. Я сделал это ранее без проблем, поэтому не совсем уверен, почему он не работает на этот раз. У меня есть:

  • Пометить проект библиотеки через свойства проекта. Файл default.properties имеет этот набор: android.library=true

  • В моем другом проекте добавлена ​​ссылка на проект моей библиотеки через свойства проекта. В файле default.properties ссылка добавлена ​​как ожидаемая, т.е. android.library.reference.1=K:/android_test_ws/applicationRegistrar

  • Зеленый галочка против проекта библиотеки ссылок начинается с зеленого цвета, а затем изменяется на красный крест.

Это означает, что в библиотечном проекте должно быть что-то неправильно/отсутствует, но я не знаю, что. Мой проект библиотеки по этому поводу намного проще, чем предыдущий, который я создал.

Ответ 1

OK Вот решение, которое я нашел, когда искал файл default.properies проекта ссылки (а не библиотеки) в моей файловой системе. Хотя проект ссылки был в том же рабочем пространстве затмения, что и проект библиотеки, фактические файлы находились где-то еще в файловой системе, т.е. Они были в одной родительской папке проекта библиотеки. Как только я разместил проект ссылки в той же физической папке, что и проект библиотеки, все прошло нормально.

Я предполагаю, что это должно быть что-то делать с андроидом, используя ant под обложками.

Изменить: имя проекта должно совпадать с именем папки в файловой системе. То, что вы видите в Project Properties- > Android- > Library Reference, является относительным пути к файловой системе.

Ответ 2

Убедитесь, что оба проекта присутствуют в одном рабочем пространстве. Чтобы сделать это, при импорте проектов убедитесь, что установлен флажок "копировать проект в рабочее пространство".

Ответ 3

та же проблема возникнет, если ваш проект библиотеки находится в другом разделе из вашего текущего рабочего пространства. Сейчас у меня такая же проблема. Мой источник git находится в C: и я просто перемещаю свое рабочее пространство в D: и все начинает рушиться.

Ответ 4

Простейший путь к правильному пути пути к библиотечным путям - использовать графический интерфейс из Eclipse, чтобы добавить библиотеку, как показано на следующем скриншоте, и позволить Eclipse позаботиться о правильном относительном пути в project.properties. Его общая настройка заключается в том, чтобы ваши библиотечные проекты размещались в каталогах, значительно отличающихся от ваших основных проектов, которые используют библиотеку. Этот метод будет работать, если "проект libary" и используемый с ним проект находятся в одном и том же рабочем пространстве eclipse (они "не должны" находиться в одной родительской папке): enter image description here

Ответ 5

Убедитесь, что проект библиотеки отмечен как "Является библиотекой" - щелкните правой кнопкой мыши по проекту библиотеки - свойства - Android - отметьте флажок "Является ли библиотека" - в project.properties проекта библиотеки у вас должна быть новая запись: "android.library = true Теперь добавьте его в проект, который вы хотите, как описано в сообщении ниже (сообщение с интегрированным изображением - от Nilesh Pawar).

Ответ 6

Эта ошибка упоминается здесь несколько раз 27199, 35786, 36460 и 38052

Возможно, голосуя за них, он будет исправлен в один прекрасный день...

Ответ 7

Еще одно замечание по тому же вопросу.

Для меня два проекта, которые находятся в одной родительской папке и были локальными внутри рабочей области. Даже тогда проблема все еще продолжалась.

Я отредактировал файл project.properties и установил абсолютный путь (с косой чертой '/' для seperator) проекта библиотеки. Сохранено и закрыто. Затем перешел в диалоговое окно свойств проекта, удалив библиотеку (которая по-прежнему показывала значок креста, но с траекторией абзаца) и добавила его, как обычно. Удивительно, что проблема решена, и проект компилируется и запускается.

Это действительно странно и должно быть ошибкой с ADT. Я использую ADT версии 20.0.2

Ответ 8

когда разработчик ссылается на facebook или любой другой проект библиотеки, прежде всего очистите проект от проекта eclipse- > project- > clean. которые хотят разрешить ошибку красного креста в ссылке на экран.

Ответ 9

Для меня я просто перезапускаю eclipse, и добавленная библиотека работает нормально.

Я имею в виду первый раз, когда он показывает красные метки после добавления проекта библиотеки. Хотя основной проект проекта и проекта eclipse находится в одной папке рабочей области, а файлы ресурсов не находятся за пределами папки проекта.

Итак, вы можете попробовать перезапустить свое затмение. Счастливое кодирование....

Ответ 10

Обходной путь для меня был

  • Создать новое рабочее пространство
  • Проект библиотеки импорта в этой рабочей области
  • Импорт Желаемый проект в этом рабочем пространстве
  • Имея проект проекта и библиотеки, та же самая целевая версия ОС Android
  • Проект справочной библиотеки в моем проекте

решил мою проблему

Ответ 11

У меня была такая же проблема, когда я пытаюсь изменить свое рабочее пространство, поэтому это мое решение:

  • импортировать и копировать все данные проекта, включая проект библиотеки, в рабочее пространство
  • удалите старую ссылку на проект, щелкнув правой кнопкой мыши по проекту → Свойства → Android → Библиотека и выберите поврежденную библиотеку (так, чтобы waht я ее назвал) и выберите "Удалить"
  • сначала очистить проект (обновить свойства проекта ur)
  • перейти в библиотечный проект Properties → Android → Library и проверить библиотеку, если она не нажимает Apply, а затем OK
  • если проект библиотеки уже проверен, сначала снимите флажок, затем очистите проект библиотеки после этого снова выполните шаг 4.
  • перейдите в проект, чтобы вы захотели, чтобы библиотека была в этом месте. Щелкните правой кнопкой мыши проект → Свойства → Android → Библиотека, затем выберите проект библиотеки (он должен быть там) и нажмите "Применить", затем "ОК"
  • если по-прежнему не отображается очистка проекта еще раз, и что нужно делать

Ответ 12

Просто запустите свое затмение. Это решает мою проблему.

Ответ 13

Когда вы просматриваете ссылку-путь до и после, она исходит из "C:/workspace/mylib" и переходит в "../../mylib" при копировании в нужное место, довольно интересно.

Ответ 14

FYI,

Что сработало для меня, так это удалить проекты библиотеки (фактические проекты) из моей рабочей области (без удаления файлов), а затем повторно импортировать их с помощью мастера (импортируйте существующий проект Android из исходного кода).

Ответ 15

Спасибо за сообщение вопроса. У меня была точно такая же проблема при интеграции Facebook с моим Android-приложением. Я исправил проблему, переместив мой проект разработки на тот же диск с Windows, в котором находился проект библиотеки. Как-то Eclipse не может правильно прочитать расположение проекта библиотеки из файла default.properties, если он находится на другом диске.

Ответ 16

Подобно сообщению Sufi Khan, я также решил эту проблему при перезагрузке. Мой случай отличался тем, что, когда я впервые обратился к Properties- > Android и добавил библиотеку, я получил прекрасную зеленую галочку. Когда я закрыл диалоговое окно, Eclipse все еще показывал ошибки типа типа, не найденные. Когда я снова проверил свойства, я увидел красный X. Но решение г-на Кана (удалить плохую библиотеку, перезапустить Eclipse, добавить lib снова) отлично работало.

Я использую версию ADT 10702 (начинается с "кластера", рифмуется с "утиной" ).

Ответ 17

Я последовал за принятым ответом, но также должен был убедиться, что файл "project.properties" доступен для чтения.

Если файл находится в режиме readonly (проверен на управление исходным кодом), eclipse не будет его редактировать. Добавление ссылки на библиотеку будет успешным, но изменение не будет сохранено после нажатия OK.

Если закрытие окна настроек и повторное открытие снова удаляет только что добавленную библиотеку, это может быть вашим решением.

Ответ 18

Если проект вашей библиотеки по-прежнему не отображается, попробуйте добавить флаг библиотеки в свойства проекта библиотеки

Добавить android.library = true

project.properties

# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system edit
# "ant.properties", and override values to adapt the script to your
# project structure.
#
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

# Project target.
target=android-17
android.library=true