Biblioteca de Android AAR dependiendo de otra biblioteca
Hola Tengo un proyecto de la biblioteca de Android que produce un AAR.
Todo es bueno pero cuando uso el AAR en otro proyecto consigo este error:
- Cómo dibujar un mapa de bits en la parte superior derecha de la lona
- Cómo evitar la animación de conflictos con la rotación de dispositivos en android?
- SearchView.OnCloseListener no se invoca
- Eclipse
- Cómo ejecutar la antigua aplicación java en Android
java.lang.NoClassDefFoundError: com.squareup.picasso.Picasso
El AAR hace uso de picasso, ¿es posible exportar las dependencias del AAR también al generar uno?
- La longitud del archivo es 0 al recrear el archivo desde URI, o filepath original
- Detener usuario multi-clic en edittext para abrir varios diálogos
- Android obtener captura de pantalla de videoview actual
- Persistencia de una clase Collection con ORMLite en android
- Posible pérdida de memoria a través de FinalizerReference
- Establecer el timbre de unix de Android en un DatePicker
- Caught Throwable o Exception es nulo
- Adición de fotos a la galería en Google Play Kiosco
¿Cómo puede uno ir sobre la creación de un local maven repo.
ADVERTENCIA: la siguiente receta funciona, pero probablemente podría usar mejoras, ya que estoy lejos de ser un experto Maven. Yo martillado este enfoque el año pasado para su uso con mis bibliotecas CWAC.
Paso # 1: Agregue classpath 'com.github.dcendents:android-maven-plugin:1.0'
al bloque de dependencies
de build.gradle
archivo build.gradle
del proyecto de su biblioteca. También agregue instrucciones de version
y de group
para proporcionar esa información sobre su AAR.
Paso # 2: Utilice gradle install
para compilar el AAR e instalarlo en el repositorio Maven local predeterminado.
Paso # 3: Normalmente, se agregaría mavenLocal()
al bloque de dependencies
de su proyecto de aplicación para recoger el AAR a través de su ID de artefacto. Eso puede estar funcionando de nuevo, aunque se rompió un poco. En su lugar, utilice maven { url "${System.env.HOME}/.m2/repository" }
como una solución a corto plazo.
Así, por ejemplo, el archivo build.gradle
su proyecto de biblioteca podría contener:
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.9.+' classpath 'com.github.dcendents:android-maven-plugin:1.0' } } apply plugin: 'android-library' apply plugin: 'android-maven' version '0.4.0' group 'some.likely.group.name.goes.here' repositories { mavenCentral() } dependencies { compile 'com.squareup.picasso:picasso:2.2.0' compile fileTree(dir: 'libs', include: '*.jar') } android { // as normal }
Utilizarías gradle install
para publicar el JAR en tu repo local de Maven. Su proyecto de aplicación tendría las siguientes cosas en su build.gradle
:
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.9.+' } } apply plugin: 'android' repositories { mavenCentral() maven { url "${System.env.HOME}/.m2/repository" } // mavenLocal() } dependencies { compile 'some.likely.group.name.goes.here:name-of-library:0.4.0' } android { // as normal }
Donde reemplazar:
-
some.likely.group.name.goes.here
-
0.4.0
con un número de versión en formato XYZ -
name-of-library
será el nombre de directorio que contiene el proyecto de biblioteca de Android (por ejemplo,presentation
ofoo
)
- Scrollview: compruebe si una vista es visible en la pantalla o no
- Abrir la conversación de SMS principal en android