Agregue cualquier biblioteca de GitHub a Android Studio, utilizando Maven, JCenter y JitPack

Autor: Lewis Jackson
Fecha De Creación: 13 Mayo 2021
Fecha De Actualización: 1 Mes De Julio 2024
Anonim
Inyección de Dependencias con HILT en Android
Video: Inyección de Dependencias con HILT en Android

Contenido


¡Muy pocos proyectos de Android son una isla! La mayoría de los proyectos de Android dependen de otros componentes, incluidas las bibliotecas de Android de terceros.

Una biblioteca de Android contiene los mismos archivos que encontraría en un proyecto de Android normal, como el código fuente, los recursos y un Manifiesto. Sin embargo, en lugar de compilar en un Kit de paquete de Android (APK) que se puede ejecutar en un dispositivo Android, una biblioteca se compila en un archivo de código que puede usar como una dependencia del proyecto. Estas bibliotecas le dan acceso a una amplia gama de funcionalidades adicionales, incluidas algunas funciones que no están incluidas en la plataforma Android de vainilla.

Uno de los mejores lugares para encontrar bibliotecas de Android es GitHub. Sin embargo, obtener una biblioteca de su página de GitHub en su proyecto no siempre es sencillo, especialmente porque hay varios repositorios diferentes que los desarrolladores pueden usar para distribuir sus proyectos de GitHub, ¡y puede que no siempre sea obvio qué repositorio está usando un desarrollador!


En este artículo, le mostraré cómo importar cualquier biblioteca que descubra en GitHub a su proyecto de Android, independientemente de si desea agregar la biblioteca como una dependencia remota o local.

Agregar dependencias remotas

El sistema de compilación Gradle de Android Studio agrega bibliotecas a su proyecto como módulo dependencias. Estas dependencias pueden ubicarse en un repositorio remoto, como Maven o JCenter, o pueden almacenarse dentro de su proyecto, como una dependencia local; solo debe informar a Gradle dónde puede encontrar estas dependencias.

Agregar una biblioteca como una dependencia remota suele ser la forma más rápida y fácil de incluir el código de una biblioteca en su proyecto, por lo que este es el método que analizaremos primero. Cuando agrega una biblioteca como dependencia remota, Gradle se asegurará de que la dependencia tenga todo lo que necesita para poder ejecutarse, incluso transitivo dependencias, por lo que normalmente querrá agregar una biblioteca como dependencia remota siempre que sea posible.


Para agregar una dependencia remota, deberá proporcionar a Gradle dos datos:

  • El repositorio. Gradle necesita conocer el repositorio (o repositorios) donde debe buscar su biblioteca (o bibliotecas). Las bibliotecas de Android tienden a distribuirse a través de Maven Central o JCenter.
  • La declaración de compilación. Contiene el nombre del paquete de la biblioteca, el nombre del grupo de la biblioteca y la versión de la biblioteca que desea usar.

Idealmente, la página de GitHub de la biblioteca debería proporcionarle toda esta información. En realidad, este no es siempre el caso, pero comencemos con el mejor de los casos y supongamos que la página de GitHub de la biblioteca incluye esta información.

Agregar una dependencia remota con JCenter

StyleableToast es una biblioteca que le permite personalizar cada parte de las tostadas de Android, incluido el cambio del color de fondo, el radio de la esquina y la fuente, y la adición de iconos. También proporciona toda la información que necesita para agregar esta biblioteca a su proyecto, en su sección dedicada "Instalación". Aquí, podemos ver que este proyecto se distribuye a través de JCenter.

Cuando crea un proyecto con las últimas versiones de Android Studio, los archivos build.gradle de su proyecto ya están configurados para admitir JCenter. Si abre su archivo build.gradle a nivel de proyecto, verá que JCenter ya está incluido en la sección "todos los proyectos / repositorios":

todos los proyectos {repositorios {jcenter ()}}

Tenga en cuenta que el archivo build.gradle a nivel de proyecto contiene dos bloques "repositorios", pero el bloque "buildscript / repositorios" es donde usted define cómo Gradle realiza esta compilación. No debe agregar dependencias de módulos a esta sección.

Dado que su proyecto ya está configurado para verificar JCenter, lo único que debemos hacer es agregar nuestra declaración de compilación al archivo build.gradle de nivel de módulo.

Una vez más, StyleableToast nos proporciona exactamente la información que necesitamos, así que simplemente copie la declaración de compilación de la página de GitHub de StyleableToast y péguela en su archivo Gradle:

dependencias {compile com.muddzdev: styleabletoast: 1.0.8}

Sincronice sus archivos Gradle, ya sea haciendo clic en el banner "Sincronizar" o seleccionando el icono "Sincronizar proyecto con archivos Gradle" en la barra de herramientas. Luego, Gradle consultará al servidor JCenter para verificar que existe la biblioteca Styleabletoast y descargará todos sus archivos. ¡Ahora estás listo para comenzar a usar esta biblioteca!

2. Agregar una dependencia remota con Maven Central

Alternativamente, si la página GitHub del proyecto indica que esta biblioteca se distribuye a través de Maven Central, entonces deberá decirle a Gradle que revise Maven Central en su lugar.

Abra su archivo build.gradle a nivel de proyecto y agregue Maven Central al bloque "allprojects":

todos los proyectos {repositorios {mavenCentral ()}}

A partir de aquí, el resto del proceso es exactamente el mismo: abra su archivo build.gradle a nivel de módulo, agregue la declaración de compilación y sincronice con Gradle.

3. Agregar una dependencia remota alojada en su propio servidor

Ocasionalmente, puede encontrar un proyecto que todavía se distribuye a través de JCenter o Maven Central, pero el desarrollador ha elegido alojar su proyecto en su propio servidor. Cuando este es el caso, la página de GitHub del proyecto debe indicarle que use una URL muy específica, por ejemplo, el repositorio del Kit Crashlytics de Fabric se encuentra en https://maven.fabric.io/public.

Si ve este tipo de URL, deberá abrir su archivo build.gradle a nivel de proyecto y luego declarar el repositorio (en este caso, Maven) junto con la URL exacta:

repositorios {maven {url https://maven.fabric.io/public}}

Luego puede agregar la declaración de compilación y sincronizar sus archivos de manera normal.

¿Qué sucede si no puedo encontrar el repositorio y / o la declaración de compilación?

Hasta ahora, hemos sido optimistas y asumimos que GitHub del proyecto siempre le dice toda la información que necesita saber. Desafortunadamente, este no es siempre el caso, así que pasemos del mejor de los casos al peor de los casos, e imagine que la página GitHub del proyecto no le proporciona ninguna información sobre el depósito y la declaración de compilación que necesita usar.

En este escenario, puede:

  • Usa JitPack.
  • Clone todo el repositorio e importe su código en su proyecto como su propio módulo.

Usando JitPack

JitPack es un repositorio de paquetes para Git que le permite agregar cualquier proyecto de GitHub como una dependencia remota. Mientras la biblioteca contenga un archivo de compilación, JitPack puede generar toda la información que necesita para agregar esta biblioteca a su proyecto.

El primer paso es abrir el archivo build.gradle a nivel de proyecto y agregar JitPack como repositorio:

todos los proyectos {repositorios {maven {url https://jitpack.io}}}

Luego puede usar el sitio web JitPack para generar una declaración de compilación, basada en la URL de GitHub de ese proyecto:

  • En su navegador web, navegue a la página de GitHub de la biblioteca. Copia su URL.
  • Dirígete al sitio web de JitPack.
  • Pegue la URL en el campo de búsqueda del sitio web y luego haga clic en el botón "Buscar" adjunto.
  • La página web mostrará una tabla con todas las versiones de esta biblioteca, dividida en varias pestañas: Lanzamientos, Compilaciones, Ramas y Compromisos. Por lo general, las versiones tienden a ser más estables, mientras que la sección Confirmar contiene los últimos cambios.

  • Una vez que haya decidido qué versión desea usar, haga clic en el botón "Obtener" que la acompaña.
  • El sitio web debe actualizarse para mostrar la declaración de compilación exacta que necesita usar.

  • Copie / pegue esta declaración de compilación en el archivo build.gradle de nivel de módulo de su proyecto.
  • Sincronice sus archivos de Gradle, ¡y está listo para comenzar a usar su biblioteca!

Clonando un proyecto GitHub

Alternativamente, cuando no esté seguro del repositorio y / o la declaración de compilación de una biblioteca, es posible que desee clon El proyecto GitHub. La clonación crea una copia de todo el código y los recursos del proyecto GitHub, y almacena esta copia en su máquina local. Luego puede importar el clon a su proyecto como su propio módulo y usarlo como una dependencia del módulo.

Este método puede llevar mucho tiempo y la importación de la totalidad del código de un proyecto puede causar conflictos con el resto de su proyecto. Sin embargo, la clonación le da acceso a todo el código de la biblioteca, por lo que este método es ideal si desea personalizar la biblioteca, por ejemplo, ajustando su código para integrarse mejor con el resto de su proyecto, o incluso agregando nuevas características (aunque Si cree que otras personas podrían beneficiarse de sus cambios, entonces puede considerar contribuir con sus mejoras al proyecto).

Para clonar un proyecto de GitHub:

  • Crea una cuenta de GitHub.
  • Seleccione "Pagar desde Control de versiones" en la pantalla de "Bienvenida" de Android Studio.
  • Ingrese sus credenciales de GitHub.
  • Abra su navegador web, navegue hasta el repositorio de GitHub que desea clonar y luego copie / pegue su URL en el cuadro de diálogo de Android Studio.
  • Especifique el directorio local donde desea almacenar el repositorio clonado.
  • Dé un nombre a este directorio y luego haga clic en "Clonar".

Ahora que tiene una copia del código de la biblioteca, puede importar esta biblioteca a su proyecto de Android, como un nuevo módulo:

  • Abra el proyecto donde desea utilizar su biblioteca clonada, luego seleccione "Archivo> Nuevo> Importar módulo" en la barra de herramientas de Android Studio.
  • Haga clic en el botón de tres puntos y navegue hasta su repositorio clonado. Seleccione este repositorio, luego haga clic en "Aceptar".
  • Haga clic en "Finalizar".
  • Seleccione "Archivo> Estructura del proyecto" en la barra de herramientas de Android Studio.
  • En el menú de la izquierda, seleccione el módulo donde desea usar esta biblioteca.
  • Seleccione la pestaña "Dependencias".

  • Seleccione el pequeño ícono "+", seguido de "Dependencia del módulo".
  • Seleccione su módulo de biblioteca, luego haga clic en "Aceptar".
  • Salga de la ventana "Estructura del proyecto".

Dependiendo de la biblioteca que esté utilizando, es posible que deba hacer algunos ajustes en su código importado antes de que se compile su proyecto. Por ejemplo, si la pestaña 's' de Android Studio se queja de minSdkVersions incompatibles, entonces es probable que las API que utiliza la biblioteca no sean compatibles con las versiones de la plataforma Android definidas en el archivo build.gradle de su proyecto. Del mismo modo, si Android Studio se queja de buildToolsVersion de su proyecto, es probable que haya una discrepancia entre la versión definida en la biblioteca y la versión definida en otro lugar de su proyecto. En ambos escenarios, deberá verificar los valores definidos en ambos archivos build.gradle y cambiarlos en consecuencia.

Solución de problemas

Cuando trabajas con ninguna tipo de software de terceros, como regla general es más probable que encuentre incompatibilidades, errores y problemas generales extraño comportamiento, en comparación con el uso de un conjunto de software desarrollado por el mismo equipo y donde cada pieza del rompecabezas se diseñó específicamente para funcionar en conjunto.

Si tiene problemas después de agregar una biblioteca a su proyecto, intente las siguientes soluciones:

  • Compruebe que no haya agregado accidentalmente varias versiones de la misma biblioteca. Si Android Studio informa un error de "varios archivos DEX definen ...", es posible que haya agregado la misma biblioteca a su proyecto más de una vez. Puede revisar las dependencias de su módulo seleccionando "Archivo> Estructura del proyecto" en la barra de herramientas de Android Studio, luego seleccionando el módulo que desea examinar y haciendo clic en la pestaña "Dependencias". Si una biblioteca aparece en esta ventana varias veces, seleccione el duplicado y haga clic en el pequeño icono "-" para eliminarlo.
  • Busca en la web. Siempre existe la posibilidad de que otras personas hayan encontrado el mismo problema que tú, así que realiza una búsqueda rápida en Google para ver si alguien ha publicado sobre este problema en foros o comunidades como Stackoverflow. Incluso puede tener suerte y encontrar un blog o un tutorial que incluya instrucciones sobre cómo resolver este problema exacto.
  • Limpia y reconstruye tu proyecto. A veces, seleccionar "Construir> Limpiar proyecto" de la barra de herramientas de Android Studio, seguido de "Construir> Reconstruir proyecto", puede ser suficiente para resolver su problema.
  • Y si todo lo demás falla ... Hacer que el software de terceros funcione correctamente a veces requiere un poco de prueba y error, por lo que si hay un método alternativo para importar la biblioteca elegida, siempre vale la pena intentarlo. El hecho de que su proyecto se niegue a compilar después de haber importado un repositorio clonado, no significa necesariamente que va a tener la misma reacción si intenta utilizar esa misma biblioteca como dependencia remota.

Terminando

En este artículo, analizamos cómo puede agregar cualquier biblioteca que descubra en GitHub a su proyecto de Android, independientemente de si esa biblioteca se distribuye a través de JCenter o Maven Central. E, incluso si no tiene idea de qué depósito o declaración de compilación necesita usar, siempre tiene la opción de usar JitPack o clonar el código de la biblioteca.

¿Has descubierto alguna gran biblioteca de Android en GitHub? ¡Háganos saber en los comentarios a continuación!

Entonce, tiene una idea de aplicación excelente y etá lito para convertirla en realidad y llevarla al mercado. in duda, etá anioo por comenzar a obtener u primera decarga, reeña y ...

Actualización, 24 de enero de 2019 (7:05 AM ET): Parece que el evento 5G de Huawei tuvo otra hitoria notable que e omitió del comunicado de prena. Richard Yu, de Huawei, dijo a lo aitente en...

Popular