Android Studio – ¿Cómo crear módulos sin copiar archivos?

Estoy creando proyectos con dependencias en Android Studio. Sé cómo vincular proyectos mediante la adición de módulos.

Pero me di cuenta de que ‘importando módulos’ creaba una copia de libProject dentro del proyecto.

Hay alguna manera de prevenir eso ? ¿Como un ‘módulo externo’?

Como estoy a cargo de ambos proyectos, deseo poder realizar cambios en el repository de libProject, sin tener que copiar los archivos de pegar entre carpetas.

Gracias

Si, puedes hacerlo. El módulo necesita tener un archivo de comstackción de Gradle configurado para él. Si tiene eso, en el proyecto que está enlazando a él, agréguelo al archivo settings.gradle en la raíz del proyecto:

include ':libraryName' project(':libraryName').projectDir=new File('/path/to/library') 

donde la ruta especificada en la segunda línea es la ruta al directorio que contiene el archivo build.gradle de la biblioteca. La ruta puede ser relativa o absoluta.

La solución:

 include ':libraryName' project(':libraryName').projectDir=new File('/path/to/library') 

no estaba funcionando para mí Después de un par de horas perdidas descubrí el problema. Hay dos archivos build.gradle , uno para el proyecto y otro para la biblioteca. Si la biblioteca está en la carpeta ‘\ MyLib’ , habrá un build.gradle en ‘\ MyLib’ y otro en ‘\ MyLib \ app’ . Tienes que apuntar a la ‘\ MyLib \ app’ y no a ‘\ Mylib’ .

Esperemos que esto les ahorre tiempo a otros.

También puede usar android {sourceSets {main.java.srcDirs + = ‘../../../library/src’}} en su aplicación build.gradle . No estoy seguro de apoyar todos los recursos de Android, ya que la biblioteca java funciona bien.

Si usted, como yo, tiene varios módulos ( solo me di cuenta hoy de que se incluyeron copias, pensé que el proyecto incluía enlaces a la fuente ) .

Puede tener múltiples módulos / proyectos en la línea de:

 include ':app', ':sqlwords', ':dbindex', ':dbcolumn', ':dbtable', ':dbdatabase', ':displayhelp', ':pickdate' project(':sqlwords').projectDir= new File('d:/Android_Applications/Modules/sqlwords') project(':dbcolumn').projectDir= new File('d:/Android_Applications/Modules/dbcolumn') project(':dbtable').projectDir= new File('d:/Android_Applications/Modules/dbtable') project(':dbindex').projectDir= new File('d:/Android_Applications/Modules/dbindex') project(':dbdatabase').projectDir= new File('d:/Android_Applications/Modules/dbdatabase') project(':displayhelp').projectDir= new File('d:/Android_Applications/Modules/displayhelp') project(':pickdate').projectDir= new File('d:/Android_Applications/PickDateShowCase/pickdate')