Dependencia del módulo – Android Studio
Tengo 2 módulos bajo mi proyecto M1, M2
Project - M1 - M2
Anteriormente, tenía M1 como mi aplicación principal. Sin embargo, había una necesidad de la nueva aplicación M2 que compartía mucho de cosas comunes con M1. Así, he creado un nuevo módulo M2 con M1 como dependencia.
- Android apk - Cómo excluir un archivo .so de una dependencia de terceros utilizando gradle
- Módulo de importación de Android Studio Error de generación de Gradle
- Archivo bajo / res / raw no accesible en Debug buildvariant
- No se pudieron resolver todas las dependencias para la configuración ': classpath'
- Cobertura de código Jacoco en Android Studio con sabores
Para lograr esto, he modificado build.gradle de M1 y M2 de la siguiente manera:
M2:
compile project(':M1')
M1: (Cambiado a la biblioteca)
apply plugin: 'com.android.library'
Sin embargo, esto no funciona y lanza error:
Could not find property 'applicationVariants' on com.android.build.gradle.LibraryExtension_Decorated@6de81701.
¿Alguna idea, sobre cómo resolver este problema?
- Importar la biblioteca de Google Play Services en Android Studio
- ¿Es posible utilizar múltiples archivos de manifiesto para diferentes creaciones / sabores de gradle?
- Activos de preprocesamiento de Gradle
- Gradle Error: No se ha especificado ningún valor para la propiedad 'buildConfigPackageName'
- Gradle Android - Anular tareas estándar
- La fusión de manifiesto ha fallado: uses-sdk: minSdkVersion 9 no puede ser menor que la versión L declarada en la biblioteca com.android.support
- Renombrando apk en gradle
- Diferencia entre el directorio inicial de Gradle y el directorio fuera de línea de Gradle
De los documentos:
En los proyectos de Android, esto es un poco más complicado porque podría haber un gran número de la misma tarea y su nombre se genera sobre la base de los tipos de construcción y los sabores del producto.
Para solucionar esto, el objeto android tiene dos propiedades:
ApplicationVariants (sólo para el complemento de aplicaciones)
LibraryVariants (sólo para el complemento de biblioteca)
TestVariants (para ambos complementos)
Los tres devuelven un objeto DomainObjectCollection de objetos ApplicationVariant, LibraryVariant y TestVariant respectivamente.
http://tools.android.com/tech-docs/new-build-system/user-guide
Así que parece que tu build.gradle en M1 usa la propiedad applicationVariants
que no es aplicable a proyectos de biblioteca. Puesto que no sé lo que estás haciendo exactamente, puedo adivinar que necesitas (1) reemplazar eso con libraryVariants
o (2) moverlo a build.gradle de M2.