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.