Cómo publicar un archivo aar a Apache Archiva con Gradle
Estoy tratando de publicar el archivo aar generado de mi biblioteca de Android a mi servidor Apache Archiva Maven, pero no he conseguido hacerlo funcionar, ya sea porque los ejemplos están desactualizados o son para java y no para android
Después de notar que la mayoría de los métodos de los ejemplos de gradle son obsoletos, encontré esta nueva documentación:
- Aplicación para Android con 2 librerías con jniLibs - bloquea la aplicación
- Gradle: cómo agregar un frasco para construir pero no para exportarlo
- Gradle excluir plugin en proyecto principal para subproyecto (s) específico (s)
- No se puede agregar una configuración con el nombre 'testCompile' ya que una configuración con ese nombre ya existe
- Android nuevo sistema de construcción (gradle) y aspectoj
Gradle Documentación
Que describe cómo usar la nueva API que parece reemplazar uploadArquivos con la publicación y así sucesivamente ….
Así que esto es lo que he conseguido hasta ahora:
apply plugin: 'com.android.library' apply plugin: 'maven' apply plugin: 'maven-publish' android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { applicationId "com.mycompany.mylibrary" minSdkVersion 9 targetSdkVersion 21 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } lintOptions { abortOnError false } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:support-v4:21.0.3' compile 'com.android.support:appcompat-v7:21.0.3' } task sourceJar(type: Jar) { from sourceSets.main.allJava } publishing { publications { mavenJava(MavenPublication) { groupId 'com.android.mylibrary' artifactId 'MyLibrary' version '1.0.0' from components.java artifact sourceJar { classifier "sources" } } } repositories { maven { url "myurl" credentials{ username "user" password "password" } } } }
La cosa de Gradle es como el infierno para mí. No sé lo que es correcto y lo que está mal y algunas cosas parecen ser cambiadas sin ningún indicio de que ya no es compatible, lo que hace bastante difícil resolver estos problemas …
¿Cómo puedo cargar automáticamente el archivo aar generado a mi Apache Archiva?
- Error de traducción no compilado
- Android apk - Cómo excluir un archivo .so de una dependencia de terceros utilizando gradle
- El conmutador Android a gradle no compila características de código JRE7
- Lint falló al usar la aplicación android de gradle build
- Integración con Android Studio y Protobuf
- ¿Cómo se pueden manipular las salidas de variantes con el complemento Android Gradle 3.0.0+?
- Creación de Gradle no obtener dependencia del repositorio personalizado de maven
- Cómo generar javadoc para la biblioteca de Android cuando tiene dependencias que también son bibliotecas aar?
Se solucionó por mí mismo
apply plugin: 'com.android.library' apply plugin: 'maven' apply plugin: 'maven-publish' android { compileSdkVersion 21 buildToolsVersion "21.1.2" repositories { mavenCentral() } defaultConfig { minSdkVersion 9 targetSdkVersion 21 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') provided 'com.android.support:support-v4:21.0.3' provided 'com.android.support:appcompat-v7:21.0.3' } task sourceJar(type: Jar) { classifier "source" } publishing { publications { repositories.maven { url 'myurl/repositories/myrepo' credentials { username "user" password "password" } } maven(MavenPublication) { artifacts { groupId 'com.mycompany' artifactId 'mylibrary' version '1.0' artifact 'build/outputs/aar/app-release.aar' } } } }
- Java.lang.SecurityException: MODE_WORLD_READABLE ya no es compatible
- ¿Por qué requestLayout se llama directamente después de invalidar