В eclipse не удалось сослаться на проект библиотеки Android в другом проекте Android - PullRequest
103 голосов
/ 02 марта 2011

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

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

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

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

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

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

Ответы [ 18 ]

1 голос
/ 18 июня 2013

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

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

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

1 голос
/ 09 октября 2014

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

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

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

Добавить 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
0 голосов
/ 21 июля 2014

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

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

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

0 голосов
/ 08 июля 2014

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

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

0 голосов
/ 10 мая 2013

FYI,

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

0 голосов
/ 06 ноября 2011

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

0 голосов
/ 11 июля 2013

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

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