tutorial run online example espaƱol java android gradle android-library multi-project

java - run - gradle tutorial



Requerir el proyecto Gradle desde otro directorio (3)

Tengo una configuración de directorio / proyecto como esta:

C:/ _dev/ Projects/ Logger MyProject

Logger es un proyecto de biblioteca Android que usa Gradle. MyProject es un proyecto de proyecto estándar de Android que necesita hacer uso de la biblioteca Logger .

Estoy usando Android Studio y he intentado agregar Logger a las bibliotecas externas. Mientras esto funciona durante el desarrollo, recibo mensajes sobre la clase que no se encuentra al construir.

Soy completamente nuevo en Gradle, pero he intentado lo siguiente en mi build.gradle dentro de MyProject :

buildscript { repositories { mavenCentral() } dependencies { classpath ''com.android.tools.build:gradle:0.5.+'' } } apply plugin: ''android'' repositories { mavenCentral() } android { compileSdkVersion 18 buildToolsVersion "18.1.0" defaultConfig { minSdkVersion 16 targetSdkVersion 18 } dependencies { compile files("../Logger") } } dependencies { compile ''com.android.support:gridlayout-v7:18.0.0'' compile ''com.android.support:appcompat-v7:18.0.0'' }


Android Studio 2.2.3:

Agregar a settings.gradle.

include '':app'', '':new_lib'' project('':new_lib'').projectDir = new File(''../new_lib/app'')

  • La ruta debe ser relativa desde la raíz del proyecto en el que está trabajando.
  • El módulo al que hace referencia debe tener una referencia a su directorio de "aplicación".

Luego edita tu estructura de proyecto | Módulos para configurar dependencias.


Intente agregar la dependencia a la sección global de "dependencias", no a las "dependencias de Android". Durante el desarrollo, se usa la configuración de "Android", pero no para empaquetar el tiempo de ejecución.

dependencies { compile ''com.android.support:gridlayout-v7:18.0.0'' compile ''com.android.support:appcompat-v7:18.0.0'' compile files("../Logger") }

También puede valer la pena considerar la configuración de una configuración de gradle multiproyecto, con build.gradle y settings.gradle en el directorio padre compartido como aquí: http://www.gradle.org/docs/current/userguide/multi_project_builds.html


La forma más simple es hacer que MyProject un proyecto múltiple con el proyecto Logger como un subproyecto.

settings.gradle en el directorio MyProject :

include ":logger" project(":logger").projectDir = file("../logger")

En build.gradle de MyProject , ahora puede hacer referencia a esta lib como un proyecto:

dependencies { compile ''com.android.support:gridlayout-v7:18.0.0'' compile ''com.android.support:appcompat-v7:18.0.0'' compile project(":logger") }