Добавление библиотеки / баночки в проект Eclipse Android
-
30-09-2019 - |
Вопрос
Это вопрос из двух частей о добавлении сторонней библиотеки (JAR) в проект Android в Eclipse.
Первая часть вопроса в том, когда я пытаюсь добавить стороннюю банку (библиотеку) в мой проект Android, я сначала возьми проблему
Ошибка разборки XML: несвязанный префикс
Потому что я пытаюсь использовать класс из этой банки (и нужен префикс как-то определен). В чем дело?
Во-вторых, (после исправления это - ответ приведен ниже), мое приложение не работает на Android, и я обнаруживаю через отладчик (LogCat), что класс, который я пытаюсь потреблять, не существует.
Вызвано: java.lang.classnotfoundException: com.gitub.droidfu.widgets.webimageView ...
Почему, когда я не получаю никакой компиляции или ссылки на ошибку в Eclipse, у него есть эта проблема на эмуляторе?
Эти два вопроса риторичны, потому что я собираюсь ответить на них сам ниже. Другие сообщения на этом форуме подкрадываются к проблеме и в других местах есть обсуждение, но я чувствую, что я могу быть более четко полезным для следующего парня.
Решение
Теперь для пропущенной проблемы классов.
Я разработчик ECLIPSE Java EE и был в привычке на протяжении многих лет добавления сторонних библиотек через механизм «библиотеки пользователя» в пути сборки. Конечно, есть как минимум 3 способа добавить стороннюю библиотеку, тот, который я использую, является наиболее элегантным, в моем скромном мнениях.
Это не будет работать, однако, для Android, чей Dalvik «JVM» не может обрабатывать обычный класс скомпилированным Java, но должен был преобразовать его в специальный формат. Это не происходит, когда вы добавляете библиотеку в том, как я не буду делать этого.
Вместо этого следуйте инструкциям (широко доступным) инструкциям по импорту сторонней библиотеки, затем добавляя его с помощью пути сборки (что делает его известным в Eclipse для целей компиляции). Вот пошаговый:
- Загрузите библиотеку в свою систему развития хоста.
- Создать новую папку, лимина, в вашем проекте Eclipse / Android.
- Щелкните правой кнопкой мыши лимина И выберите импорт -> General -> файловую систему, затем следующую, просмотрите в файловую систему, чтобы найти родительский каталог библиотеки (т. Е. Где вы загрузите его).
- Нажмите OK, затем щелкните имя каталога (не флажок) на левой панели, а затем проверьте соответствующую банку на правой панели. Это ставит библиотеку в ваш проект (физически).
- Щелкните правой кнопкой мыши на вашем проекте, выберите путь сборки -> Настроить путь сборки, затем щелкните вкладку «Библиотеки», затем добавьте JARS ..., перейдите к новой банке в лимина каталог и добавить его. (Это, кстати, это момент, когда ваша новая банка преобразуется для использования на Android.)
ПРИМЕЧАНИЕ
Шаг 5 может не понадобиться, если LIB уже включен в ваш путь сборки. Просто убедитесь, что его существование сначала перед добавлением его.
То, что вы сделали здесь, достигают две вещи:
- Включает в себя преобразованную Dalvik-преобразованную банку в вашем проекте Android.
- Делает определения Java доступными для Eclipse, чтобы найти сторонние классы при разработке (то есть компиляции) исходного кода вашего проекта.
Другие советы
Убедитесь, что ваши 3-й банки для вечеринок находятся в ваших проектах «Libs», и они будут помещены в .apk, когда вы упаковываете свое приложение. Вы можете увидеть ошибки времени выполнения на устройстве, если что-то в банке не поддерживается, но кроме того, у меня был большой успех с этим.
Настройка библиотечного проекта
Библиотечный проект - это стандартный проект Android, поэтому вы можете создать новый так же, как и новый проект приложений.
Когда вы создаете проект библиотеки, вы можете выбрать любое имя приложения, пакет и установить другие поля по мере необходимости, как показано на рисунке 1.
Далее установите свойства проекта, чтобы указать, что это библиотечный проект:
В проводнике пакета щелкните правой кнопкой мыши библиотечный проект и выберите «Свойства». В окне «Свойства» выберите группу свойств «Android» слева и найдите свойства библиотеки справа. Установите флажок «IS Library» и нажмите «Применить». Нажмите OK, чтобы закрыть окно свойств. Новый проект теперь отмечен как библиотечный проект. Вы можете начать движущийся исходный код и ресурсы в него, как описано в разделах ниже.
Если вы используете ADT версии 22, вам необходимо проверить зависимости в андроид и частные библиотеки Android на вкладке «Заказ и экспорт» в пути сборки проекта
Во-первых, проблема отсутствующего префикса.
Если вы потребляете что-то в своем файле макета, который поставляется с третьей стороны, вам может потребоваться потреблять его префикс, как и что-то вроде «DROIDFU:», которое происходит в нескольких местах в конструкции XML ниже:
<com.github.droidfu.widgets.WebImageView android:id="@+id/webimage"
android:layout_width="75dip"
android:layout_height="75dip"
android:background="#CCC"
droidfu:autoLoad="true"
droidfu:imageUrl="http://www.android.com/images/opensourceprojec.gif"
droidfu:progressDrawable="..."
/>
Это выходит из банки, но вам также нужно добавить новые «XMLNS: DROIDFU»
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:droidfu="http://github.com/droidfu/schema"
...>
Или вы получаете ошибку несвязанного префикса. Для меня это было неспособность скопировать и вставить весь поставляемый пример с страниц сторонних библиотек.
Ошибка разборки XML: несвязанный префикс
Ресурс '/ playdeddy / res' не существует.
Я получил вышеописанные два ошибки и, наконец, я решил его.
Щелкните правой кнопкой мыши ваш проект -> Свойства -> Путь сборки Java Build -> GoogleAdmobadsdk (выберите и поставить его наверх), то вы работаете и проблему решены. Решается моя ошибка времени выполнения.
Поместите источник в папке за пределами Yourt Workspace. Rightclick в проекте-проводнике и выберите «Импорт ...»
Импортируйте проект в рабочем пространстве в качестве проекта Android. Попробуйте построить его и убедиться, что он помечен как проект библиотеки. Также убедитесь, что он построен с поддержкой Google API, если нет, вы не получите компиляционные ошибки.
Затем в правой кнопкой мыши на вашем главном проекте в проводнике проекта. Выберите свойства, затем выберите Android слева. В разделе «Библиотека» ниже нажмите «Добавить» ..
Библиотека MapView-Balloons теперь должна быть доступна для добавления к вашему проекту.
Перейдите в построить путь в Eclipse, затем нажмите Заказ и экспортируйте, затем проверьте библиотеку / банку, а затем нажмите кнопку вверх, чтобы переместить его в верхнюю часть списка, чтобы сначала скомпилировать его.