¿Cómo puedo incluir dependencias en mi biblioteca de Android?
Estoy escribiendo un android sdk y ahora quiero distribuirlo, pero estoy teniendo problemas con sus dependencias. Estoy usando gradle and android studio.
Mi sdk tiene una dependencia de volley y gson y los he añadido como frascos con en mi sdk. Cuando siempre intento crear un aar o un tarro para utilizar dentro de una aplicación separada del cliente que consigo siempre un desplome siempre que mi sdk intente volley de la referencia pues no fue incluido en el aar o el tarro. ¿Alguna idea sobre cómo debería estar haciendo esto? He mirado en la creación de tarros de grasa con mucho éxito.
- poner pestañas en la parte inferior de la pantalla
- Theme.AppCompat.Light.DarkActionBar - No se encontró recurso
- ¿Cómo puedo convertir una parte del archivo de código fuente de Java a Kotlin?
- ¿Es posible incluir el diseño y otros recursos en un tarro de Android?
- Mejor manera de acceder a la base de datos en la aplicación multi-threaded Android?
También he intentado usar las dependencias alejadas como abajo pero incluso después de que una gradle construya en la aplicación del cliente el volley y el gson todavía no se incluyen. Esto es actualmente lo que tengo en mi sdk build.gradle
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.mcxiaoke.volley:library-aar:1.0.0' compile 'com.google.code.gson:gson:2.3' }
Entonces con en el gradle de la construcción del cliente tengo
repositories { flatDir { dirs 'libs' } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile(name:'mysdk-1.0.0', ext:'aar') }
Estoy usando ./gradlew clean build
para construir el aar y el tarro de mi sdk ¿Puede alguien decirme la forma correcta de incluir dependencias en mi propia biblioteca?
- Cómo solucionar NetworkonMainThreadException en Android?
- Utilizar Enhanced For Loop Syntax está generando resultados más lentos
- ¿Métodos personalizados en la solución RealmObjects ...?
- plataforma cordova añadir android obtener un error en JAVA_HOME
- Android - creando programaticamente view progressBar
- ¿Es posible utilizar un MapView sin tener que extender MapActivity?
- No se puede escribir un algoritmo para filtrar elementos en un RecyclerView basado en un tiempo guardado con cada elemento
- ¿Por qué android.app.Activity no es abstracto por diseño?
En su cliente, cambie su bloque de dependencias así:
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile(name:'mysdk-1.0.0', ext:'aar') { transitive = true; } }
Esto debería tirar en sus dependencias transitivas también.
Si desea incluir las dependencias transitivas de su biblioteca en su aplicación cliente, deberá crear un paquete compatible con maven apropiado que contenga un archivo pom.xml. Este pom describirá las dependencias de su lib, de modo que el cliente puede tirar de esos deps transitively cuando incluyen su lib.
Vea este tutorial: http://blog.blundell-apps.com/locally-release-an-android-library-for-jcenter-or-maven-central-inclusion/
No tiene que cargar el artefacto en ningún sitio durante el desarrollo, simplemente use su repositorio local de maven como destino y tenga mavenLocal()
como repositorio para su aplicación de cliente. De esta forma, podrá referirse a su biblioteca como una dependencia estándar de maven utilizando
compile 'com.mysdk:mysdk:1.0.0'
- ¿Cómo puedo agregar un contacto mediante programación?
- Abrir aplicación de correo electrónico de mi aplicación