Errores comunes al abrir un proyecto existente con Android Studio y este no funcione

 Cuando estudiaba la ingeniería hace algunos años, hice algunas aplicaciones para Android usando este IDE, actualmente tengo la necesidad de fabricar una aplicación pero no recuerdo absolutamente nada de como crear, desarrollar, ni probar la aplicación en un dispositivo móvil, así que iré tomando nota de todos los pasos para no queden en el olvido.

Cuando no somos expertos en algo lo primero que hacemos luego de leer documentación es descargar ejemplos para ver cómo otras personas se las han arreglado para construir sus soluciones. 

Una de las cosas más frustrantes es no ser capaz de que ese simple ejemplo se ejecute correctamente como lo muestran las capturas de pantalla.

Errores más comunes al intentar correr un proyecto de ejemplo en Android Studio:

1) No contar con el kit de desarrollo adecuado (SDK)

Como todo lenguaje de programación va evolucionando en el tiempo es normal que un código fuente requiera dependencias especificas para poder ejecutarse, por eso que al abrir un proyecto de ejemplo desde internet el error más común es este:

  • License for package Android SDK Build-Tools xx.xx not accepted.
  • No variants found for 'app'. Check build files to ensure at least one variant exists.


Solucionar este problema es muy sencillo, para ello solo hay que ir a las preferencias del IDE y descargar los SDK necesarios para el proyecto:


Luego, en la ventana de preferencias debemos ir a la opción Android SDK y seleccionar la versión que nos está reclamando el IDE, en mi caso requería de la versión 28, correspondiente a Android 9 Pie que fue el kit de desarrollo usado para construir el ejemplo que descargué de github.


Luego de instalar esta dependencia, necesitamos que nuestro IDE vuelva analizar el proyecto. Al contar ahora con el SDK adecuado el IDE será capaz de identificar cada parte del proyecto y de descargar dependencias propias del proyecto en sí, permitiendo que podamos ejecutarlo e instalarlo en un dispositivo virtual o real. Para ello debemos ejecutar la siguiente opción:

  • Sync Project with Gradle Files


Luego que se terminen de ejecutar las ordenes de los archivo Gradle, el IDE realizará algunos cambios, se habilitaran ciertas opciones que antes estaban des-habilitadas y el menú de visualización de la izquierda se mostrará con todas las opciones correspondientes.

2) Google Play requiere un kit de desarrollo posterior (SDK)

Este es un problema muy común al intentar abrir proyectos antiguos, como es de esperar fueron construidos con las versiones funcionales de ese entonces. Sin embargo por temas de seguridad el IDE Android Studio obliga a que se vaya actualizando el SDK y de esta manera ir disminuyendo la posibilidad de contener vulnerabilidades en nuestras aplicaciones.

Por ejemplo, este es un proyecto que se construyó hace varios años cuando el SDK iba en la versión 25, el archivo build.gradle que se encuentra dentro del directorio de la aplicación (generalmente llamado app) indica que fue compilado usando la versión 25, sin embargo al intentar abrirlo años más tarde nos encontramos con que el IDE nos indica que Google Play requiere que se migre a una versión superior.


La mayoría de las veces simplemente con el hecho de subir la versión en dicho archivo Gradle ya podemos compilar nuestra aplicación, pero peden haber casos en que tengamos que actualizar también otras dependencias:

En este ejemplo luego de subir a un SDK soportado por Google Play, nos encontramos con versiones de dependencias que también deben ser actualizadas

Se aumenta versión de dependencia, ahora ya no tenemos problemas en el archivo Gradle

Luego de subir el SDK en el archivo Gradle, debemos realizar lo mismo que en el punto 1, debemos verificar que contemos con el SDK, verificar que se encuentre descargado desde el SDK Manager y luego volver a ejecutar File -> Sync Project With Gradle Files.

En algunos casos también necesitaremos actualizar el código fuente si es que hemos hecho uso de sintaxis que estén deprecadas en versiones posteriores, será distinto para cada proyecto.

Que pasa si necesitamos desarrollar una aplicación para un dispositivo muy antiguo y que no sea capaz de soportar aplicaciones de un SDK más moderno. Esto se puede resolver descargando una versión antigua de Android Studio o usar un IDE diferente y además debemos revisar si somos capaces de conseguir todas las dependencias de ese entonces, ya que en caso de no estar disponibles en un servidor Maven público será necesario montar un servidor privado y publicar todas las dependencias requeridas.

3) Repositorio fuera de linea o nuestras dependencias no están disponibles

Tal como hemos indicado en los puntos anteriores, para proyectos antiguo es común que algunas dependencias hayan sido eliminadas de los repositorios dado su antigüedad, una forma rápida de solucionar este problema es agregar otro servidor o montar uno propio, para cualquiera de ambos casos debemos agregar el nuevo repositorio en el archivo build.Gradle que se encuentra en la base del proyecto.


Una posible solución podría ser agregar el repositorio Maven de Google:

        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }


4) No lograr correr el proyecto en un dispositivo real

Para correr el proyecto en un dispositivo virtual solo basta con abrir AVD Manager y crear un dispositivo Android con las características deseadas, por defecto Android Studio incluye un emulador y dispositivo similar a un Google Pixel pre-configurado.

Para acceder a AVD Manager se realiza desde el menú Tools



Vista de los dispositivos virtuales donde probaremos nuestras aplicaciones, en él se pueden emular diversas versiones de Android y configurar algunas opciones básicas como tamaño de pantalla y métodos de entrada.


Instalar la aplicación en el dispositivo, para ello se dispone del menú "Run" y la opción "Select device..."


Nos mostrará una lista de los dispositivos donde podremos instalar y correr nuestra aplicación, en mi caso me muestra solamente los dispositivos virtuales que he creado, por ningún lado veo Mi Xiaomi Mi A2 que tengo conectado por cable al computador.


Esto se debe a que nuestro dispositivo real debe tener habilitadas las opciones de desarrollador, y dentro de ellas el modo de Depuración USB.

Lamentablemente habilitar estas opciones será diferente en cada dispositivo dado que la mayoría de los fabricantes agregan capas de personalización lo que hace que los menús se ubiquen en partes diferentes, sin embargo el método será similar.

Para activar estas opciones lo primero a realizar es buscar el número de compilación y tocar sobre el número varias veces hasta que muestre el mensaje correspondiente, dejo el ejemplo desde mi teléfono.




Segundo, habilitar la depuración USB.







Realizado los pasos anteriores y si tenemos el dispositivo conectado a nuestro computador, Android nos preguntará si deseamos permitir que el dispositivo se conecte a nuestro teléfono, simplemente aceptamos el mensaje y listo.


Ahora si que ya podremos ver el dispositivo Android Físico en nuestro IDE.

Ahora simplemente ejecutamos la opción Run "..." y tendremos la aplicación corriendo en nuestro dispositivo.


Comentarios