Комплекты состоят из модулей. Это означает, что модули являются базовой единицей для объединения функций.
В то время как комплекты служат для установки и обновления продуктов, модули облегчают процесс разработки функций продукта группой разработчиков. Группа разработчиков определяет, когда следует разбивать функции на отдельные модули.
Модули объединяются в файл архива модулей и описываются в файле объявления модулей, plugin.xml.
Фрагменты модуля - это файлы, входящие в отдельный пакет, содержимое которого рассматривается, как если бы оно находилось в исходном архивном файле модуля. Фрагменты используются для добавления в существующий модуль новых функций, например, для поддержки дополнительных языков. Использование фрагментов - это идеальный вариант для добавления функций, созданных после первого выпуска продукта, так как они не требуют перекомпоновки или переустановки исходного модуля. При обнаружении нового фрагмента его содержимое объединяется с функциональностью исходного модуля. Другими словами, если опросить реестр модулей, то расширения и другие функции фрагмента будут представлены, как если бы они находились в исходном модуле.
Фрагменты описываются с помощью файла объявления фрагмента, fragment.xml. Он аналогичен файлу объявления модуля. Поскольку фрагмент использует многие свойства своего модуля, некоторые атрибуты в объявлении модуля становятся недействительными, например, класс модуля или объявления import в модуле.
Архивы модулей могут содержать модули или фрагменты.