Publicación de la biblioteca android a jcenter error – Añade un archivo POM a la última versión de tu paquete
Estoy intentando publicar mi biblioteca de Android en JCenter usando el sitio web de Bintray.
He creado un archivo zip estilo Maven que incluye todos los artefactos necesarios: aar, fuentes, javadocs y archivo pom con la siguiente entrada de blog:
- Importación de apklib desde github con Maven
- ¿Por qué Gradle necesita un archivo settings.gradle?
- ¿Cómo publicar la biblioteca de Android a Jfrog bintray?
- Instalar todos los artefactos de módulos en el repositorio de maven personalizado usando Gradle y Android Studio
- Android / gradle: no puede utilizar el repositorio
Http://blog.blundell-apps.com/locally-release-an-android-library-for-jcenter-or-maven-central-inclusion/
Todo parece estar en su lugar dentro del archivo zip creado, pero todavía me sale un error al intentar vincular mi paquete a JCenter:
Agregue un archivo POM a la última versión de su paquete
No estoy seguro de lo que está mal, ya que un pom está dentro ..
¿Alguna idea de lo que podría estar mal?
ACTUALIZAR:
Este es el contenido del archivo zip:
com └───foxxymobile └───wearmock └───wear-mock │ maven-metadata.xml │ maven-metadata.xml.md5 │ maven-metadata.xml.sha1 │ └───0.1.0 wear-mock-0.1.0-javadoc.jar wear-mock-0.1.0-javadoc.jar.md5 wear-mock-0.1.0-javadoc.jar.sha1 wear-mock-0.1.0-sources.jar wear-mock-0.1.0-sources.jar.md5 wear-mock-0.1.0-sources.jar.sha1 wear-mock-0.1.0.aar wear-mock-0.1.0.aar.md5 wear-mock-0.1.0.aar.sha1 wear-mock-0.1.0.pom wear-mock-0.1.0.pom.md5 wear-mock-0.1.0.pom.sha1
Y este es el archivo POM:
<?xml version="1.0" encoding="UTF-8"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <groupId>com.foxxymobile.wearmock</groupId> <artifactId>wear-mock</artifactId> <version>0.1.0</version> <packaging>aar</packaging> <dependencies> <dependency> <groupId>com.android.support</groupId> <artifactId>appcompat-v7</artifactId> <version>21.0.3</version> <scope>compile</scope> </dependency> </dependencies> </project>
Como puede ver, el pom se encuentra dentro de la cremallera. Así es como el script lo creó.
- ¿Cómo puedo usar los servicios de google play en un proyecto de maven?
- Publicar un archivo aar en Maven Central con Gradle no trabajando
- Android Crosswalk Lite - Integración con Android Studio
- ¿Cómo subir el módulo a JCenter usando el plugin de binario de gradle?
- Problemas para generar Google App Engine Backend en Android Studio
- Gradle Sube la aplicación android apk a maven repo (nexus)
- Adición de la biblioteca de soporte al proyecto de estudio de Android
- Android estudio maven apoyo eliminado?
La causa de este problema fue que todos los artefactos necesarios se subieron como un archivo comprimido que no se extrajo. Por esta razón Bintray no pudo encontrar la fie necesaria de POM.
Cuando cargue manualmente contenido en Bintray, puede cargar un archivo y elegir extraerlo marcando la casilla de verificación "Explode this archive". Esta casilla está desmarcada por defecto.
Así es como lo solucioné:
Cargue manualmente 2 archivos a Bintray, en el siguiente formato de nombre:
[library name]-[version].[type]
por ejemplo:
my-library-name-0.0.3.pom my-library-name-0.0.3.aar
El archivo my-library-name-0.0.3.pom es una copia del archivo generatd [lib project folder] \ build \ poms \ pom-default.xml, que contiene una lista de dependencias y cosas.
Importante : Cuando subo my-library-name-0.0.3.pom, el sistema sugirió ponerlo en una ruta específica.
Después de publicar los archivos, debería ver en la página del paquete "Maven build settings (ver: 0.0.3)" y los detalles de maven / gradle inport.
- Encadenamiento de dos llamadas de servicio web mediante RxJava y Retrofit
- Android: SMSManager – Intento de obtener longitud de matriz nula