Я хотел бы разделить проект библиотеки Android на модули. Предполагаемая структура проекта:
├─ androidLibraryModule
│
├─ kotlinLibraryModuleA
│
└─ kotlinLibraryModuleB
Где androidLibraryModule зависит от kotlinLibraryModuleA и kotlinLibraryModuleB:
dependencies {
implementation project(":kotlinLibraryModuleA")
implementation project(":kotlinLibraryModuleB")
}
Единственное, что я опубликую, это .aar, который является результатом сборки androidLibraryModule, и я хотел бы, чтобы он включал код из kotlinLibraryModuleA и kotlinLibraryModuleA. Единственный способ, который я нашел до сих пор для достижения этой цели, — это скопировать файлы .jar kotlinLibraryModuleA и kotlinLibraryModuleB в папку libs androidLibraryModule следующим образом:
task copyJar(type: Copy) {
from jar
into "${project(":androidLibraryModule").projectDir.absolutePath}/libs"
}
jar.finalizedBy(copyJar)
Это решение работает, но немного похоже на взлом. Это единственное решение или есть лучший способ добиться этого результата?
РЕДАКТИРОВАТЬ: если бы androidLibraryModule был модулем приложения для Android, это просто работало бы без необходимости задачи копирования.