Cómo establecer el nombre de la salida AAR de Gradle
Tengo un proyecto con varios módulos en él uno de los cuales es una biblioteca de Android llamada (mal) como sdk
. Cuando construyo el proyecto sdk.aar
un AAR llamado sdk.aar
.
No he podido encontrar nada en la documentación de Android o Gradle que me permite cambiar el nombre de la salida de AAR. Me gustaría que tuviera un nombre de base + número de versión como las tareas de Jar, pero no puedo resolver cómo hacer lo mismo para el AAR porque toda la configuración parece estar oculta en el complemento de android.library.
- ¿Pueden los recursos de ID de Android referirse hacia adelante?
- Cómo agregar org.apache.commons.lang3 a AndroidStudio con gradle
- ¿Cómo utilizar Android Annotations y su procesador de anotaciones con jack?
- ¿Cómo puedo resolver "los archivos duplicados copiados en APK META-INF / *"
- Android Studio falla - unsupport no soportado versión secundaria mayor 51.0
Renombrar el módulo no es una opción en esta etapa y que aún no añadir el número de versión a la final AAR.
¿Cómo puedo cambiar el nombre del AAR generado por com.android.library
en Gradle?
Solución Gradle
defaultConfig { minSdkVersion 9 targetSdkVersion 19 versionCode 4 versionName '1.3' testFunctionalTest true project.archivesBaseName = "Project name" project.version = android.defaultConfig.versionName }
- Android gradle prueba sólo un sabor
- Apt dependencia alcance en Android gradle - ¿para qué se utiliza?
- Archivos de sabor y recursos de Android
- Cómo deshabilitar lint abortOnError en Android Gradle Plugin desde el nivel superior del directorio de proyectos múltiples
- Gradle: La ejecución falló para la tarea compileReleaseAidl
- Cómo cambiar / cambiar testInstrumentationRunner dinámicamente con gradle
- Añadir dependencias a través de gradle a eclipse en el proyecto android
- Productores de productos Gradle y estructura antigua del proyecto
No puedo obtener los archivos y la versión de DatabaseBaseName para trabajar para mí con Android Studio 0.8.13 / Gradle 2.1 . Aunque puedo establecer archivesBaseName y la versión en mi defaultConfig, no parece afectar el nombre de salida. Al final, añadir el siguiente bloque libraryVariants
a mi android {} scope finalmente funcionó para mí:
libraryVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile if (outputFile != null && outputFile.name.endsWith('.aar')) { def fileName = "${archivesBaseName}-${version}.aar" output.outputFile = new File(outputFile.parent, fileName) } } }
Además de qix responder aquí la información que usted puede agregar varias rutas de salida por este método por una cadena regular, así:
libraryVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile if (outputFile != null && outputFile.name.endsWith('.aar')) { def fileName = "${archivesBaseName}-${version}.aar" output.outputFile = new File(outputFile.parent, fileName) output.outputFile = new File("/home/pepperonas/IdeaProjects/Libraries/Base/testapp/libs", fileName) } } }
(Upvotes pertenecen a qix – Acabo de escribir esto como una respuesta debido a la legibilidad).
Con el build-plugin 1.5.0 ahora es posible usar los archivos de base de datos en el defaultConfig
- Android – Google Maps api v2 – Desactivar el control de zoom
- Android: smoothScrollToPosition () no funciona correctamente