Страницы

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

среда, 27 ноября 2019 г.

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

#android #android_studio


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


Ответы

Ответ 1



Во-первых, если библиотека достаточно выского качества, то автор библиотеки, как правило, дает инструкции о том, как ее подключить в свой проект - им надо следовать в первую очередь. Сама 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 будет проведена работа по импорту в ваш проект, после чего библиотека будет доступна в вашем проекте. Добавление библиотеки на основе исходников вручную — несколько муторное занятие и описывать я его не буду. Ценители ручного способа конфигурации проекта получат удовольствие, проделав "таинство" самостоятельно, а остальным вовсе без надобности.

Ответ 2



https://github.com/mikepenz/MaterialDrawer#minimal-setup It's (theoretically) a one-liner :D. This will create an empty drawer. new Drawer().withActivity(this).build() Activity with Toolbar Drawer.Result result = new Drawer() .withActivity(this) .withToolbar(toolbar) .addDrawerItems( new PrimaryDrawerItem().withName(R.string.drawer_item_home), new DividerDrawerItem(), new SecondaryDrawerItem().withName(R.string.drawer_item_settings) ) .withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id, IDrawerItem drawerItem) { // do something with the clicked item :D } }) .build(); //use the result object to get different views of the drawer or modify it's data //some sample calls result.setSelectionByIdentifier(1); result.openDrawer(); result.closeDrawer(); result.isDrawerOpen(); result.addItem(..); .. Ну там же все написано...

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

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