studio libreria library importar generar create agregar android-studio module android-gradle build.gradle subdirectory

android-studio - libreria - import aar android studio



Android Studio-¿Cómo hacer módulos dentro de un subdirectorio? (3)

Puedes hacerlo:

root build.gradle settings.gradle modules mod1 build.gradle mod2 build.gradle mod3 build.gradle

En su settings.gradle

include '':modules:mod1'' , '':modules:mod2'', '':modules:mod3''

Supongamos que tengo 3 módulos: mod1, mod2 y mod3.

En el caso normal, la jerarquía del sistema de archivos debe ser:

[android_root_dir] build.gradle # list this file just to make it clear. ----mod1 ----mod2 ----mod3

Pero lo que quiero es:

[android_root_dir] build.gradle # list this file just to make it clear. ----modules ----mod1 ----mod2 ----mod3

cómo hacerlo en Android Studio 1.1.0?

PD: encuentro este artículo, pero parece que no funciona, o funciona para versiones anteriores de AS, no 1.1.0: ¿cómo puedo mover un módulo dentro de un subdirectorio?


Aunque include '':modules:mod1'' , '':modules:mod2'', '':modules:mod3'' tipo de solución, AS genera de manera molesta un módulo vacío para modules . Para solucionar este problema, consulte settings.gradle en el repositorio de github de gradle . Básicamente, incluye cada subproyecto como uno de nivel superior y luego establece su directorio de proyecto para que esté dentro del subdirectorio. Este truco debe abordar perfectamente su necesidad.

include ''mod1'' include ''mod2'' ... include ''modX'' rootProject.name = ''gradle'' rootProject.children.each {project -> String projectDirName = "modules/$project.name" project.projectDir = new File(settingsDir, projectDirName) assert project.projectDir.isDirectory() assert project.buildFile.isFile() }


Mi proyecto struct

Coding app push-dir coding-push push-xiaomi setting.gradle

archivo setting.gradle

// need repeat declarative, i think it''s bug include '':app'' include '':coding-push'' include '':push-dir:coding-push'' include ":push-xiaomi" include ":push-dir:push-xiaomi"

Usé repeat declarative en settings.gradle to solve. (Android Studio 3.0), creo que es un error de AS. A veces es necesario reiniciar AS.