Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android Studio publica una biblioteca local

Recientemente he cambiado a Android Studio de Eclipse, y es mejor para la mayor parte.

Pero ahora estoy en el punto de querer crear bibliotecas para ser reutilizadas más tarde. Sé de los módulos, pero no quiero usarlos, ya que parece copiar un duplicado en cada proyecto (prefiero tener una referencia a una lib como en Eclipse).

  • Android: Cómo realizar cambios en la vista principal de un botón
  • ¿Cómo deshabilitar el mensaje de pan tostado que a veces aparece con los controles de zoom en un WebView?
  • Ocultar barra de sistema en Jelly Bean Tablet (enraizado)
  • Android-Magento- Cómo obtener los detalles de varios productos en Android mediante XML-RPC
  • Gson deserializando objetos anidados con InstanceCreator
  • Convertir la imagen de recursos desplegables en mapa de bits
  • Así que he vuelto mi atención a una solución Maven / Gradle. Idealmente, me gustaría ser capaz de exportar mi lib a un repo local y / o reporte de maven, y hacer referencia a través de eso a través de gradle. He estado buscando bastante tiempo ahora, y cada respuesta es diferente, y ninguno de ellos trabajó para mí. Este es el más cercano que he encontrado a lo que estoy buscando, pero hay un error en la creación de javadoc.

    Estos sitios ( enlace y enlace ) requieren una cuenta Bintray o Sonatype para publicar las bibliotecas a nivel mundial. Publicación de la biblioteca es una meta final para mí, así que me gustaría mantener esa opción abierta si es posible, pero por ahora sólo quiero mis libs para ser privado.

    Sería muy bueno si había un complemento que podría especificar un reporte de maven para exportar a, pero no he encontrado nada que parece prometedor aún.

    Así que mi pregunta es: ¿Hay una manera recomendada "simple" para exportar una biblioteca en Android Studio, que puedo hacer referencia a continuación, a través de Gradle?

    Marcas de bonificación: ¿Sería capaz de ofuscar las bibliotecas con proguard una vez publicado? Actualmente la configuración de minifyEnabled=true en mi lib resulta en el archivo .aar que no se genera al construir.

  • ¿Es Secure.ANDROID_ID único para cada dispositivo?
  • Los teléfonos de Redmi no piden permisos de SMS y por lo tanto no leen sms
  • ¿Cómo puedo forzar la presión de memoria para la depuración de Android?
  • Problemas con la implementación del modo de acción contextual en fragmento recyclerview
  • ¿Necesita ayuda en el archivo de imagen múltiple POST usando retrofit?
  • Error de compilación de Android Studio y Gradle
  • One Solution collect form web for “Android Studio publica una biblioteca local”

    Puede utilizar el complemento maven-publish para publicar sus artefactos en cualquier repositorio al que tenga acceso. Lo estoy usando combinado con Amazon S3 . El repositorio puede ser su repo local de maven (el directorio .m2), Artifactory local, Archiva o cualquier otro servidor de repositorio de maven o una solución alojada. S3 funciona bien y estoy seguro de que hay alojados artefactos etc por ahí.

    Si está utilizando un repositorio externo, añádalo a la sección de repositorios, pero simplemente usar el complemento debería darle la opción de publicar en maven local. La tarea gradle se llama publishToMavenLocal . Debe definir su publicación . La publicación es simplemente un conjunto de artefactos creados por tu compilación, en tu caso probablemente será un frasco, pero puede ser cualquier cosa. Ejemplo corto cómo lo uso con S3.

     apply plugin: 'maven' apply plugin: 'java' apply plugin: 'maven-publish' repositories { maven { name "s3Repo" url "your S3 URL" credentials(AwsCredentials) { accessKey awsAccessKey secretKey awsSecretKey } } maven { ... any other repo here } } publishing { publications { maven(MavenPublication) { artifactId 'artifact that you want' from components.java artifact distZip { ... example artifact created from zip distribution } } } repositories { add "s3Repo" } } 

    La publicación -> repositorios -> add es el lugar donde se especifican todos los repos donde desea cargar sus archivos.

    Si desea utilizar la biblioteca de su maven local, simplemente agregue:

     repositories { ... mavenLocal() ... } 

    Y luego refiérase a su biblioteca como a cualquier otra dependencia con id de grupo, ID de artefacto y versión.


    Por lo que sé, las bibliotecas ofuscadas son las mismas que las no ofuscadas, sólo con nombres cambiados de identificadores. Si el requisito es publicar una biblioteca ofuscada, eso debería estar bien. Simplemente no ofusque las interfaces API y las clases (los puntos de entrada). Si publica una biblioteca no ofuscada, no estoy seguro si se ofusca en el archivo final.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.