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:
- "Aapt" IOException error = 2, No hay tal archivo o directorio "¿por qué no puedo construir mi gradle en jenkins?
- ¿Cómo importar Sherlock de la barra de acción al proyecto gradle?
- Tarea con el nombre 'testDebug' no se encuentra en el proyecto ': module'
- No se encontró ningún cliente coincidente para el nombre del paquete (Google Analytics) - multiple productFlavors & buildTypes
- Gradle, No se pudo expandir ZIP appcompat-v7: 19.0.1
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?
- Diferentes dibujables basados en la variante de construcción en Gradle
- ¿Cómo obtener cobertura de código con Android Studio?
- ¿Gradle escala de rendimiento bien con el número de núcleos de la CPU
- Android gradle construir que la cobertura de código para pruebas robolectric
- En iOS tenemos algo como Gradle Build Flavors en Android
- Variantes de construcción de Android en travis.ci
- Gradle Sync no terminará después de la actualización 0.4.6
- Android Gradle - Añadir packageNameSuffix en producto específicoFlavor
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