Синхронизация совместно используемых библиотечных проектов/модулей со своим источником

Я учусь создавать общие библиотеки Android, которые можно использовать с разными проектами. У меня появилось несколько вопросов по этому вопросу. Прежде чем я займусь вопросами, ниже я сделал это до сих пор:

  • Создание проекта библиотеки
  • Создайте еще один проект приложения и импортируйте библиотеку в качестве модуля

Мои вопросы:

  • Является ли код проекта библиотеки автоматически синхронизирован с импортированным в проекты приложений? Как это можно достичь?
  • Если нет, что еще я могу сделать, чтобы убедиться, что мне просто нужно обновить общую библиотеку один раз?

Я использую Android Studio IDE.

Спасибо,

Ответы

Ответ 1

А да, это может быть очень полезно во многих случаях. Для достижения этой цели вы можете сделать следующее.

Скажем, у вас есть два проекта: MyApplication и MyLibraryDemo, содержащий библиотечный модуль libmodule со следующими путями:

MyApplication - "/../AndroidStudioProjects/MyApplication"

MyLibraryDemo - "/../AndroidStudioProjects/MyLibraryDemo"

libmodule - "/../AndroidStudioProjects/MyLibraryDemo/libmodule"

И скажем, вы пытаетесь использовать libmodule в MyApplication. Затем в settings.gradle вашего проекта MyApplication сделайте это

include ':app', ":libmodule"
project(':libmodule').projectDir = new File(settingsDir, '../MyLibraryDemo/libmodule')

Возможно, вам придется внести соответствующие исправления, но я надеюсь, что идея связать другой модуль понятна.

Все самое лучшее:)

Ответ 2

Импорт модуля извне вашего проекта приложения создает копию библиотеки внутри вашего приложения. Если ваша система поддерживает его, создание символической ссылки позволит вам иметь только одну копию кода.

В противном случае вы можете переместить весь проект библиотеки в свое приложение и добавить его в свои настройки .gradle.

Если вы хотите иметь отдельные репозитории git для обоих этих проектов, изучите использование подмодулей git.