Ссылка на исходное дерево внешней библиотеки проекта

Прежде всего, я знаю, что есть несколько вопросов по этой теме, но ни один из них мне не помог.


Я разрабатываю свой первый Android-проект с плагином Android/ADT и хочу использовать эту библиотеку. Я искал здесь, в SO, и в официальной документации, как это сделать, и нашел как сослаться на библиотечный проект.

Я выполнил следующую команду:

$ android update project --target 8 /path/to/workspace/myproject /path/to/workspace/numberpicker/lib
Resolved location of library project to: /path/to/workspace/numberpicker/lib
Updated project.properties
Updated local.properties
No project name specified, using Activity name 'SplashActivity'.
If you wish to change it, edit the first line of build.xml.
Added file /path/to/workspace/myproject/build.xml
Updated file /path/to/workspace/myproject/proguard-project.txt

Судя по всему, этот шаг сработал правильно. Но когда я пытаюсь сослаться на com.michaelnovakjr.numberpicker.NumberPicker в макете xml, Eclipse жалуется, что не может найти этот класс.

Затем я нашел этот ответ и изменил свой project.properties:

# Before
android.library.reference.1=/path/to/workspace/numberpicker/lib
# After
android.library.reference.1=../numberpicker/lib

Но не решил мою проблему.

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


person borges    schedule 25.05.2012    source источник
comment
Если вы еще не импортировали средство выбора номера в качестве проекта Android в Eclipse? Сначала импортируйте его в Eclipse: File -> New -> Other ... -> Android -> Android project, в окне мастера отметьте Create projet from existing source и выберите местоположение. затем попробуйте все, что вы хотите, снова.   -  person yorkw    schedule 25.05.2012
comment
Это сработало! Добавьте это как ответ, чтобы я мог его принять. Спасибо!   -  person borges    schedule 25.05.2012


Ответы (1)


Библиотечный проект должен существовать в той же рабочей области, чтобы позволить Eclipse правильно построить зависимый проект. См. руководство разработчика Управление проектом — Проекты библиотеки, чтобы узнать больше:

Однако проект библиотеки отличается от проекта стандартного приложения Android тем, что его нельзя скомпилировать напрямую в собственный .apk и запустить на устройстве Android. Точно так же вы не можете экспортировать проект библиотеки в автономный файл JAR, как вы сделали бы для настоящей библиотеки. Вместо этого вы должны скомпилировать библиотеку косвенно, сославшись на библиотеку в зависимом приложении и создав это приложение.

Когда вы создаете приложение, которое зависит от проекта библиотеки, инструменты SDK компилируют библиотеку во временный файл JAR и используют его в основном проекте, а затем используют результат для создания .apk. В тех случаях, когда идентификатор ресурса определен как в приложении, так и в библиотеке, инструменты гарантируют, что ресурс, объявленный в приложении, получит приоритет и что ресурс в проекте библиотеки не будет скомпилирован в приложение .apk. Это дает вашему приложению гибкость для использования или переопределения любого поведения ресурсов или значений, определенных в любой библиотеке.

Чтобы использовать библиотеку numberpicker, вам нужно импортировать ее как проект Android в Eclipse, выбрать File -> New -> Other ... -> Android -> Android project, в окне мастера отметить Create projet from existing source и выбрать местоположение.

person yorkw    schedule 25.05.2012