Страницы

Поиск по вопросам

четверг, 4 октября 2018 г.

Подключение сторонней библиотеки в проект Android Studio

Какие шаги нужно выполнить, чтобы добавить чужой проект (библиотеку) к своему в Android Studio? Нужно, чтобы я мог обратиться из своего проекта к классам из чужого проекта. В build.gradle я уже прописал.


Ответ

Во-первых, если библиотека достаточно выского качества, то автор библиотеки, как правило, дает инструкции о том, как ее подключить в свой проект - им надо следовать в первую очередь.
Сама Android Studio позволяет подключить три типа библиотек в свой проект:
из репозитория Maven библиотеку в виде собранного .jar файла библиотеку в виде исходных кодов
Для выполнения этой работы в Android Studio есть графический интерфейс, но олдскульные кодеры могут проделать ту же работу, прописывая необходимые команды в конфиги gradle вручную. Открываем окно структуры проекта (File -> Project Structure) и переходим к основному модулю проекта - слева секция Modules, кликнуть по названию модуля вашего приложения (на скриншоте это app). В открывшемся окне переходим к вкладке Dependencies. Здесь вы можете управлять подключенными зависимостями: добавить новые, удалить ненужные и перемещать их по иерархии.

Для того, чтобы добавить зависимость, нажимаем на плюсик справа и видим три пункта - рассмотрим их подробнее:
Library dependency — добавление библиотеки из внешнего репозитория
Этот пункт требует, как правило, наименьшего количества усилий. Обычно, по умолчанию, в конфиге gradle всего проекта в качестве внешнего репозитория используется JCenter и все уважающие себя разработчики складывают свои труды туда, но вы можете прописать в том конфиге и другие репозитории с библиотеками, если таковые вам требуются. При выборе пункта 1 появляется окно поиска, в котором вы можете набрать имя требуемой библиотеки и, если она присутствует в репозитории - вы ее увидите. Нажатие кнопки OK проделает всю черную работу по подключению библиотеки и после того, как gradle проведет необходимые манипуляции по скачиванию и импорту, она будет доступна в вашем проекте.

Если вы не доверяете инструментам Android Studio и желаете самостоятельно вручную добавить библиотеку из репозитория, вам необходимо прописать в секции dependencies{} конфига build.gradle вашего приложения ссылку на нужную библиотеку:
dependencies { compile 'com.mikepenz:materialdrawer:2.9.8' }
При внесении каких-либо изменений в конфиги gradle вверху появляется предупреждение о необходимости синхронизировать проект - когда все изменения будут сделаны, нажмите на ссылку Sync Now вверху справа, чтобы gradle применил ваши изменения.
File dependency — добавление библиотеки из локального скомпилированного .jar файла
Перед началом импорта локальной библиотеки в виде .jar файла необходимо скопировать сам файл библиотеки в папку /libs вашего проекта. При выборе пункта 2 появится стандартный диалог выбора файла, в котором необходимо указать, собственно, сам файл подключаемой библиотеки. При нажатии кнопки OK gradle проведет некоторые манипуляции по импорту, которые займут какое-то время, после чего библиотека будет доступна в вашем проекте.

Для того, чтобы вручную сделать то же самое — добавить библиотеку на основе .jar файла, в секции dependencies{} конфига build.gradle приложения необходимо прописать следующее:
dependencies { compile files('libs/realm.jar') }
Для того, чтобы подключить все библиотеки из папки /libs/ разом, нужно сделать так:
dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') }
Module dependency — добавление библиотеки из исходных кодов
Перед импортом библиотеки из исходных кодов необходимо скачать сами исходные коды и распаковать в какой-то каталог. Для наименьших проблем:
исходные коды должны быть gradle-проектом Android Studio/IntelliJ IDEA имена основного модуля и модуля подключаемой библиотеки не должны совпадать. подключаемый исходник является библиотекой, а не приложением (в build.gradle того, что вы подключаете указано apply plugin: 'com.android.library') — это можно исправить самостоятельно в конфиге gradle того, что вы подключаете. минимальные версии SDK вашего проекта и библиотеки должны совпадать — можно исправить самостоятельно в конфигах gradle проекта или библиотеки. версии BuildTools проекта и библиотеки должны совпадать (рекомендуется), либо обе версии должны быть установлены в вашем SDK (не рекомендуется). Лучшее решение — всегда использовать самую последнюю версию BuildTools
Для начала импортируем нужную библиотеку в свой проект в качестве модуля. Нажимаем File -> New -> Import Module, указываем путь до корневой папки с разархивированными исходниками и следуем другим указаниям мастера импорта.

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

Комментариев нет:

Отправить комментарий