librerias - importar jar en android studio
El archivo AAR local no gestiona dependencias (1)
He trabajado en una biblioteca de Android (un cliente API) que usa Retrofit y Joda DateTime.
dependencies {
compile fileTree(dir: ''libs'', include: [''*.jar''])
compile ''com.android.support:appcompat-v7:22.2.0''
compile ''com.squareup.retrofit:retrofit:1.9.0''
compile ''joda-time:joda-time:2.8.1''
}
Ahora que la biblioteca está completa, la compilé en un archivo AAR y quiero usarla en una aplicación, por lo que la agregué a la carpeta libs de la aplicación y la incluí en el archivo build.gradle como sigue:
dependencies {
compile(name:''s3papiandroidclient'', ext:''aar'')
//Some other things
}
Sin embargo, cuando trato de inicializar el cliente API desde la biblioteca, la aplicación falla cuando se trata de llamar a objetos desde RetroFit o DateTime (por ejemplo, retrofit.RestAdapter). Parece que Gradle no lee las dependencias de la biblioteca AAR, por lo que no instala Retrofit y DateTime en mi aplicación. Traté de usar el parámetro transitive=true
en mi archivo AAR, no ayuda.
Otro punto que podría ayudar, intenté generar un archivo POM, y las dependencias tampoco aparecen en él. Parece que realmente está sucediendo algo con esto y estoy completamente atrapado en eso.
La única solución que pude encontrar es agregar manualmente las dependencias del archivo AAR al archivo build.gradle de la aplicación, pero no tiene sentido, ¡supongo que Gradle puede importar dependencias por sí mismo!
Saludos,
Gyoo.
Parece que Gradle no lee las dependencias de la biblioteca AAR
Eso es porque no hay dependencias en un archivo AAR.
Traté de generar un archivo POM, y las dependencias tampoco aparecen en él
Luego hay un problema en la forma en que está generando el archivo POM. Además, AFAIK, necesitaría poner el archivo AAR y su archivo POM en un repositorio, para que Gradle reconozca el POM y use la información de dependencia dentro de él.