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



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



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




  1. пометил проект библиотеки через свойства проекта. Элемент этот набор : android.library=true


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


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



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

587   18  

18 ответов:

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

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

изменить: имя проекта должно совпадать с именем папки в файловой системе. То, что вы видите в свойствах проекта->Android->ссылка на библиотеку-это относительный путь к файловой системе.

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

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

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

убедитесь, что проект библиотеки помечен как "библиотека Is" - щелкните правой кнопкой мыши на проекте библиотеки - свойства - Android - отметьте флажок "библиотека Is" - в проекте.свойства проекта библиотеки у вас должна быть новая запись:"android.библиотека=правда. Теперь добавьте его в проект, который вы хотите, как описано в сообщении ниже.(пост с интегрированным изображением-от Нилеша Павара).

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

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

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

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

я редактировал проект".свойства " файл и поставить абсолютный путь (с косой чертой '/' для разделителя) проекта библиотеки. Сохранил и закрыл его. Затем перешел в диалоговое окно свойств проекта, удалил библиотеку(которая все еще показывала значок креста, но с АБС путь) и добавил его обратно, как обычно. Удивительно, но проблема решена, и проект компилируется и запускается.

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

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

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

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

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

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

  1. создать новое рабочее пространство
  2. импорт проекта Библиотеки в этой рабочей области
  3. импортируйте нужный проект в эту рабочую область
  4. имея как проект, так и библиотечный проект одной и той же целевой версии ОС Android
  5. проект справочной библиотеки в моем проекте

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

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

  1. импорт и копирование всех данных проекта, включая проект библиотеки в рабочую область
  2. удалите старую ссылку на проект, щелкнув правой кнопкой мыши по проекту-- > свойства-- > Android-->библиотека, и выберите поврежденную библиотеку (так что waht я называю ее) и выберите Удалить
  3. сначала очистите проект (чтобы обновить свойства проекта ur)
  4. перейти к проекту библиотеки Свойства-- > Android-- > библиотека и проверьте библиотеку is, если она не нажимает кнопку Применить, то OK
  5. если проект библиотеки Библиотека уже проверена, сначала снимите флажок, а затем очистите проект библиотеки после этого снова выполните шаг 4
  6. перейдите в проект, в котором вы хотите, чтобы библиотека была, затем щелкните правой кнопкой мыши по проекту- > свойства- > Android- > библиотека, добавьте, затем выберите проект библиотеки (он должен быть там) и нажмите кнопку Применить, а затем OK
  7. если все еще не отображается очистите проект еще раз, и это должно сделать

просто перезапустите eclipse. Это решить мою проблему

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

к твоему сведению,

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

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

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

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

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

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

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

если ваш проект библиотеки все еще не отображается попробуйте добавить флаг библиотеки в свойствах проекта библиотеки

добавить android.библиотека=истина

.свойства

# 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

Comments

    Ничего не найдено.