#android #android_studio #gradle #библиотеки
В сети много информации об этом не хитром деле, но мне все же не понятен один момент. Есть 2 android - приложения. Для этих двух приложений существует общая библиотека. Эта схема успешно работала в Eclipse. Сейчас же, когда перешел на Android Studio, я пытаюсь повторить тот же фокус (разными способами), но у меня не получается. Я хочу сделать ссылку на указанный библиотечный проект. Чтоб все изменения сразу отражались во всех приложениях, к которым эта библиотека подключена. А все что у меня получается это с сделать копию библиотечного проекта. В таком случае не о какой общности библиотеки речи не идет. Как быть?
Ответы
Ответ 1
Android Studio для сборки проекта использует систему сборки Gradle, поэтому решается данный вопрос через возможности именно данной системы сборки, а не непосредственно Android Studio Для того, чтобы подключить в свой проект другой, независимый от текущего, проект (например, разрабатываемую вами же библиотеку) в Android Studio, необходимо в файле settings.gradle текущего проекта добавить ссылку на другой проект: include ':myLibrary' project(':myLibrary').projectDir = new File('../MyProjects/myLibrary') Здесь мы подключаем к текущему проекту проект myLibrary. ../MyProjects/myLibrary - путь до подключаемого проекта. Ссылка на подключенный проект появится в дереве файлов Android Studio, при редактировании вы будете вносить изменения непосредственно в сам проект, а не его копию в текущем проекте. Теперь при сборке вашего текущего проекта в него будет включен и подключенный проект, при этом данный проект не будет импортирован в текущий и вы можете вносить изменения в тот подключенный проект, тогда они будут учитываться при следующей сборке во всех проектах, в которых он подключен таким образом. Пост на EnSO с картинкамиОтвет 2
Сделайте библиотеку отдельным проектом и при компиляции публикуйте ее в каком-нибудь репозитории. В локальном Maven, к примеру. А в любом проекте просто подключайте ее из репозитория, как и любую другую библиотеку.
Комментариев нет:
Отправить комментарий