Tutoriales de Android con Android Studio: guía completa para empezar

Última actualización: 17 de abril de 2026
  • Android Studio es el IDE oficial para crear apps Android, basado en IntelliJ y potenciado con Gradle, emulador integrado y herramientas específicas.
  • La estructura del proyecto se organiza en módulos, con carpetas clave como manifests, código fuente y recursos, y se configura mediante scripts build.gradle(.kts).
  • Las variantes de compilación, la generación de múltiples APK, la reducción de recursos y la gestión avanzada de dependencias permiten optimizar distribución y tamaño.
  • Herramientas de depuración, perfiles de rendimiento, inspecciones de código, anotaciones y Logcat ayudan a mejorar calidad, estabilidad y experiencia de usuario.

tutoriales de Android

Si te apetece meterte de lleno en el mundo del desarrollo móvil, los tutoriales de Android con Android Studio son la puerta de entrada más lógica. Android sigue siendo el sistema operativo dominante en móviles y tablets, así que aprender a crear tus propias apps no solo es algo divertido, también puede abrirte muchas puertas laborales.

En este artículo vamos a hacer un recorrido muy completo por todo lo que necesitas saber para empezar con Android Studio: qué es, cómo se organiza un proyecto, cómo funciona el sistema de compilación con Gradle, qué son las variantes y los múltiples APK, cómo reducir recursos, gestionar dependencias y, muy importante, cómo depurar, perfilar y mejorar la calidad de tu código con las herramientas que trae el IDE.

Qué es Android Studio y por qué es el IDE recomendado

Android Studio es el entorno de desarrollo integrado oficial para crear aplicaciones Android. Está construido sobre IntelliJ IDEA, un editor de código muy potente, al que Google le ha añadido un montón de funciones específicas para el ecosistema Android pensadas para aumentar tu productividad día a día.

Entre sus características más destacadas tienes un sistema de compilación flexible basado en Gradle, que es el motor que se encarga de construir tus APK o bundles; un emulador Android rápido y con muchas opciones; y un entorno unificado desde el que puedes desarrollar para toda la familia de dispositivos Android: móviles, tablets, TV, Wear OS, Android Auto, etc.

Además, Android Studio incorpora las llamadas ediciones en vivo (live edit) para Jetpack Compose, que te permiten actualizar componentes de interfaz en tiempo real tanto en emuladores como en dispositivos físicos mientras escribes el código, sin tener que recompilar la app entera en cada cambio.

Otra ventaja importante es la integración con GitHub y las plantillas de código. Desde el propio IDE puedes clonar repositorios, gestionar ramas y aprovechar asistentes que generan por ti estructuras de pantallas, actividades, fragments o componentes de Compose habituales para no empezar de cero cada vez.

Android Studio también incluye marcos de pruebas y herramientas de test, utilidades de lint para detectar problemas de rendimiento o de compatibilidad entre versiones, y compatibilidad con C++ y el NDK si necesitas partes de tu app en código nativo por rendimiento o reutilización de librerías existentes.

Estructura básica de un proyecto en Android Studio

Cuando creas un nuevo proyecto, Android Studio lo organiza en uno o varios módulos. Cada módulo agrupa archivos de código fuente y de recursos que forman una app, una librería reutilizable o incluso un backend con Google App Engine, según el tipo de módulo que elijas.

En los proyectos típicos verás principalmente tres tipos de módulos: módulos de aplicación Android (el ejecutable que se instala en el dispositivo), módulos de librería (código o recursos compartidos entre varias apps) y módulos de Google App Engine para lógica de servidor cuando se integra con ese servicio.

Por defecto, el IDE te muestra la información en la llamada vista «Android» del panel Project. Esa vista no refleja exactamente cómo están los archivos en el disco, sino que reordena todo de forma más lógica para tu trabajo diario: primero los módulos y, dentro de cada uno, los elementos clave para que vayas directamente a lo importante.

En un módulo de aplicación verás tres carpetas principales: la carpeta manifests, donde está el archivo AndroidManifest.xml con la declaración de actividades, servicios, permisos y demás componentes; la carpeta java (o mejor dicho, de código fuente) que contiene archivos en Kotlin y Java, incluyendo los tests JUnit; y la carpeta res, en la que se guardan todos los recursos sin código, como diseños de interfaz, cadenas de texto, iconos o imágenes.

La estructura real en el disco es algo más detallada y no tan «plana» como la vista Android. Si quieres ver todos los directorios y archivos tal como se almacenan físicamente, puedes cambiar la visualización a Project en el menú desplegable del panel de proyectos y trabajar con esa jerarquía estándar.

Entender bien esta organización es clave porque muchos tutoriales de Android dan por hecho que sabes localizar el manifest, los layouts o las clases de tu app en las carpetas adecuadas, y Android Studio te lo pone fácil agrupando lo más usado en paneles intuitivos.

Sistema de compilación con Gradle en Android

Todo el proceso de construir tu app se apoya en Gradle, que es el sistema de compilación que Android Studio utiliza de forma nativa. Sobre Gradle se ejecuta un plugin de Android que añade tareas y configuraciones específicas para este tipo de proyectos.

Lo interesante de este enfoque es que el sistema de compilación se puede lanzar tanto desde Android Studio como desde línea de comandos, y es altamente configurable mediante archivos de script. Eso te permite personalizar el proceso, automatizar versiones y adaptar la compilación a las necesidades de tu equipo.

Entre las posibilidades que te da Gradle están el poder ajustar y ampliar el proceso de build, generar varios APK o bundles a partir del mismo código fuente (por ejemplo, versiones de prueba, de distribución interna y de producción) o reutilizar recursos y código entre diferentes conjuntos de orígenes sin duplicarlo.

La flexibilidad de este sistema te permite hacer todo lo anterior sin tocar el código funcional de tu app. Simplemente modificas la configuración en los archivos de compilación, donde defines variantes, sabores, firmas, opciones de minificación y mucho más.

Los ficheros de build suelen llamarse build.gradle.kts si usas la sintaxis de Kotlin (recomendado hoy en día) o build.gradle cuando todavía trabajas con Groovy. Son archivos de texto sin formato donde escribes instrucciones Gradle usando el DSL propio del lenguaje elegido.

En cada proyecto encontrarás normalmente un archivo de compilación de nivel superior, que afecta a todo el proyecto, y uno o varios archivos de build a nivel de módulo, que controlan los detalles de cada módulo de aplicación o librería. Cuando importas un proyecto existente, Android Studio suele generar automáticamente los ficheros de compilación y detecta cómo está organizado.

En muchas guías y documentación oficial verás que se referencia solo a «build.gradle» o solo a «build.gradle.kts». A efectos prácticos, el concepto es el mismo: un script donde declaras cómo se construye tu app, independientemente de si lo haces en Groovy o en Kotlin.

Variantes de compilación y soporte para múltiples APK

Uno de los puntos fuertes de Gradle para Android es la gestión de variantes de compilación. Con un solo proyecto puedes generar diferentes versiones de la misma app, adaptadas a distintos escenarios, desde una edición gratuita con anuncios a una versión de pago, pasando por builds de pruebas internas.

Las variantes combinan normalmente tipos de build (debug, release, etc.) con «flavors» o sabores (free, paid, demo, full…), creando así distintas salidas que comparten código pero pueden diferir en recursos, identificadores de aplicación, dependencias o configuraciones. Por ejemplo, el flavor free podría incluir anuncios y el paid no.

Además, el sistema es capaz de generar múltiples APK según densidad de pantalla o ABI (arquitectura de CPU). Así puedes tener un APK específico para pantallas hdpi y otro para mdpi, o distribuciones distintas para procesadores ARM y x86, sin tener que crear proyectos independientes.

Estos APK múltiples se consideran una sola variante lógica que comparte elementos comunes como los tests, la configuración de herramientas como javac o dx y reglas de ProGuard o R8. Lo que cambia es el contenido concreto empaquetado según el dispositivo objetivo.

Este sistema de muchos APKs es especialmente útil en apps con recursos pesados o librerías nativas, ya que reduce el tamaño de la descarga para el usuario y optimiza la instalación para cada tipo de hardware compatible.

Optimización: reducción de recursos y minificación del código

Para que tus aplicaciones sean más ligeras, Android Studio incluye una función de reducción automática de recursos. Básicamente, analiza qué recursos se están usando de verdad y elimina los que no se referencian en ningún lugar del código o los layouts.

Esto es especialmente útil cuando dependes de librerías grandes, como los servicios de Google Play. Imagina que solo usas la parte de Google Drive de esa librería pero no aprovechas el inicio de sesión con Google; el sistema de reducción puede eliminar imágenes, layouts y otros recursos del botón de login que no te hacen falta, ahorrando espacio en el APK final.

Conviene tener en cuenta que esta reducción de recursos suele trabajar junto con herramientas de reducción de código como ProGuard o R8, que se encargan de ofuscar, optimizar y eliminar código Java o Kotlin que no se utiliza. De este modo, el resultado final es una app más compacta y difícil de desensamblar.

Configurar adecuadamente estas herramientas es una parte importante de un desarrollo Android más avanzado, porque afecta directamente al rendimiento y a la seguridad de tu aplicación. En muchos tutoriales verás cómo activar estas opciones desde el archivo de build y cómo ajustar las reglas de ProGuard para no romper bibliotecas externas.

Gestión de dependencias con Maven y Gradle

Otro pilar de cualquier proyecto moderno en Android Studio es el sistema de dependencias gestionadas con Gradle. En el archivo de build a nivel de módulo declaras qué librerías quieres usar, y Gradle se encarga de descargarlas y ponerlas a tu disposición en el proceso de compilación.

Estas dependencias pueden ser de tres tipos principales: dependencias de otros módulos del mismo proyecto, dependencias binarias remotas (librerías publicadas en repositorios como Maven Central) y dependencias locales en forma de archivos .jar o .aar que tengas en tu máquina.

Android Studio viene configurado por defecto para usar Maven Central como repositorio, de manera que solo con indicar el identificador de una librería (por ejemplo, una de Jetpack) ya la tienes integrada. Esta configuración se realiza en el archivo de compilación de nivel de proyecto.

Si en algún momento necesitas trabajar con repositorios privados, snapshots o librerías internas, puedes añadir nuevos repositorios o fuentes de dependencias en ese mismo archivo, sin tocar el código de la app.

Entender bien cómo se gestionan las dependencias te permite actualizar versiones, resolver conflictos y mantener tu base de código limpia y modular, algo fundamental a medida que tus proyectos Android van creciendo.

Herramientas integradas de depuración en Android Studio

Cuando tu aplicación empieza a hacerse compleja, depurar se vuelve una parte central del flujo de trabajo. Android Studio pone a tu alcance un depurador integrado muy completo que te ayuda a inspeccionar el estado de la app mientras se ejecuta.

Una de las funciones más útiles es la llamada depuración intercalada o «inline debugging», que muestra valores de variables directamente en el editor de código cuando estás parado en un punto de ruptura. Así evitas ir a otra ventana para consultar qué está pasando exactamente.

Además de las variables locales, el depurador te permite ver qué objetos hacen referencia a una instancia concreta, los valores devueltos por métodos justo después de ejecutarse, las expresiones lambda y operadores evaluados, y la información de contexto que ayuda a localizar fallos lógicos o de flujo.

Para activar esta presentación enriquecida de datos, basta con ir a la ventana Debug, abrir el panel de configuración y marcar la opción «Show Variable Values in Editor». A partir de ese momento, la experiencia de depuración es mucho más visual y fluida.

Todo esto es especialmente valioso cuando estás siguiendo tutoriales de Android que incluyen ejercicios resueltos, porque puedes detener la ejecución y comprobar paso a paso qué está ocurriendo en tu código, en lugar de limitarte a confiar en que funcione a la primera.

Generadores de perfiles de rendimiento: CPU, memoria y red

Además de depurar errores, Android Studio incorpora herramientas para medir el rendimiento real de tu app. Estos generadores de perfiles (profilers) permiten monitorizar el uso de CPU, memoria, gráficos y tráfico de red mientras la aplicación está corriendo.

Para utilizarlos, solo tienes que ejecutar la app en un dispositivo físico o en el emulador y abrir la ventana Android Profiler desde el menú View > Tool Windows > Profiler. Desde ahí puedes elegir el tipo de recurso que quieres analizar y empezar a registrar datos en tiempo real.

En el caso de la memoria, el profiler te ayuda a encontrar objetos que no se liberan, a localizar fugas de memoria que pueden acabar en cierres inesperados y a optimizar las asignaciones relacionadas con acciones concretas del usuario.

Para las gráficas y la CPU, los perfiles muestran qué métodos consumen más tiempo, cómo se distribuye el trabajo entre hilos y dónde se producen cuellos de botella al dibujar la interfaz o al procesar datos intensivos.

También puedes analizar el tráfico de red para ver qué peticiones se envían, cuánto tardan, el tamaño de las respuestas y si hay llamadas innecesarias o redundantes que puedas agrupar o cachear para mejorar la experiencia de usuario.

Volcados de montón y perfilado avanzado de memoria

Si quieres ir un paso más allá en el análisis de memoria, Android Studio te permite generar volcados de montón (heap dumps) mientras monitorizas tu aplicación. Estos volcados son instantáneas del estado de la memoria Java en un momento concreto.

Cuando capturas un volcado de montón, el IDE puede forzar a la vez una recolección de basura y guardar la imagen del montón en un archivo HPROF en formato binario específico de Android. Desde el visor de HPROF puedes navegar por clases, instancias y relaciones de referencia.

Esta vista te muestra cuántas instancias de cada clase hay en memoria, qué objetos las están reteniendo y por qué no se están liberando. Es una manera muy efectiva de localizar leaks que no se detectan fácilmente con pruebas superficiales.

Si lo necesitas, incluso puedes convertir el archivo HPROF al formato estándar con un clic derecho para abrirlo en herramientas externas de análisis, aunque para la mayoría de casos el visor integrado en Android Studio suele ser suficiente.

En paralelo, el generador de perfiles de memoria permite activar el seguimiento de asignaciones mientras realizas ciertas acciones en la app para ver dónde se crean objetos y con qué frecuencia. Esa información es oro puro para afinar el consumo de memoria y evitar tirones o cierres por falta de recursos.

Acceso y gestión de archivos de datos de depuración

Muchas utilidades del SDK de Android, como Systrace o Logcat, generan archivos de captura con datos de rendimiento y depuración que puedes revisar con calma después de una sesión de pruebas.

Todos esos archivos se organizan en la ventana de herramientas llamada Captures. Desde ahí puedes ver un listado de las trazas, volcados y demás capturas generadas, y abrir cualquiera de ellas con un doble clic para analizarla con el visor correspondiente.

En el caso concreto de los archivos HPROF de memoria, es posible hacer clic con el botón derecho y ejecutar una conversión de formato para que sean compatibles con otras herramientas de perfilado. Esto te da flexibilidad si quieres combinar el análisis interno con utilidades de terceros.

Explorar estos formatos de archivo también te ayuda a comprender mejor cómo se representa el uso de CPU, RAM y otros recursos a nivel bajo, algo que puede marcar la diferencia en apps donde el rendimiento es crítico.

Inspecciones de código, lint y calidad estructural

Cada vez que compilas tu proyecto, Android Studio lanza automáticamente inspecciones de lint y otras comprobaciones del IDE destinadas a mejorar la calidad estructural del código y a detectar posibles errores.

La herramienta lint analiza todos los archivos de origen de tu proyecto para encontrar problemas de precisión, seguridad, rendimiento y usabilidad. También revisa aspectos de accesibilidad, internacionalización y buenas prácticas generales de Android.

Los resultados se muestran en una vista específica donde puedes ver cada advertencia, su gravedad y una explicación de por qué puede ser un problema. Muchas veces, Android Studio ofrece incluso acciones rápidas para corregir automáticamente el código o aplicar la recomendación sugerida.

Además de lint, el IDE ejecuta inspecciones propias de IntelliJ, así como validaciones de anotaciones, que ayudan a mantener un estilo coherente y evitar errores tontos antes de que se conviertan en bugs en producción.

Apoyarte en estas inspecciones y revisar sus avisos forma parte de un flujo de trabajo profesional, tanto si estás siguiendo tutoriales de Android con ejercicios sencillos como si trabajas en proyectos grandes en equipo.

Anotaciones para mejorar la detección de errores

Android Studio soporta de forma nativa una serie de anotaciones en variables, parámetros y valores de retorno que permiten expresar mejor tus intenciones en el código y ayudar al IDE a detectar errores antes de tiempo.

Estas anotaciones, agrupadas en la librería Jetpack Annotations, se distribuyen desde el Repositorio de compatibilidad de Android y están pensadas para trabajar estrechamente con las inspecciones de código del IDE.

Por ejemplo, puedes indicar que un parámetro no puede ser nulo, que una función siempre devuelve un valor válido o que un entero se corresponde con un tipo concreto de recurso (como un id de layout, un color, etc.). Con ello se reducen las probabilidades de cometer errores de puntero nulo o de mezclar recursos.

Android Studio utiliza estas anotaciones durante el análisis estático del código para mostrar advertencias cuando detecta usos indebidos, como pasar null donde no está permitido o confundir identificadores de recursos de distinto tipo.

Integrar de forma habitual estas anotaciones en tus clases y funciones no solo documenta mejor tu API, sino que hace que las herramientas puedan protegerte de errores difíciles de localizar en tiempo de ejecución.

Logcat y mensajes de registro en tiempo real

Mientras desarrollas y pruebas tus apps, una de las ventanas que más consultarás es Logcat, el panel donde se muestran los mensajes de registro del sistema y de tu aplicación. Cada vez que ejecutas la app desde Android Studio, Logcat empieza a escuchar.

Desde ahí puedes ver los logs generados por adb, los mensajes de depuración que escribes con Log.d, Log.e y demás, y filtrar por nivel de gravedad, por proceso o por texto para centrarte solo en lo que te interesa.

Trabajar con un buen sistema de logs te permite entender qué ocurre cuando algo falla y documentar estados relevantes de la app durante el flujo normal de uso. Es una herramienta imprescindible tanto para desarrollo como para depuración avanzada.

Combinando Logcat con los puntos de ruptura y el depurador, puedes tener una visión muy clara de cómo avanza la ejecución de tu código y de qué sucede justo antes de que aparezca un error o un comportamiento inesperado.

Acceso a la cuenta de desarrollador y herramientas conectadas

Android Studio no solo sirve para escribir código: también actúa como puente hacia otros servicios del ecosistema Google que requieren autenticación con tu cuenta de desarrollador. Entre ellos están Firebase, Android Vitals en App Quality Insights o incluso asistentes inteligentes como Gemini integrados en el IDE.

Cuando inicias sesión desde Android Studio, autorizas a esas herramientas a acceder y gestionar tus datos asociados a distintos servicios de Google. Por eso, el proceso de login va pidiendo permisos específicos para cada funcionalidad que quieras activar.

Para acceder a tu cuenta de desarrollador, basta con hacer clic en el icono de perfil situado al final de la barra de herramientas del IDE y seguir las indicaciones que aparecen. Una vez autenticado, puedes gestionar qué herramientas tienen permiso y cuáles no.

Si ya has iniciado sesión y quieres revisar o revocar permisos, puedes ir a File (o Android Studio en macOS) > Settings > Tools > Google Accounts, donde encontrarás todas las opciones de configuración relacionadas con tus cuentas y servicios vinculados.

Este vínculo directo con la cuenta de desarrollador simplifica tareas como conectar tu app a Firebase, analizar métricas de estabilidad y rendimiento con Android Vitals o aprovechar asistentes inteligentes integrados en el proceso de desarrollo.

Empezar a programar Android: requisitos y aprendizaje por ejercicios

El objetivo de muchos tutoriales de Android orientados a principiantes es introducirte poco a poco en la programación de apps usando Android Studio como entorno principal. Para sacarles partido, conviene que ya tengas una base previa de programación orientada a objetos.

Tradicionalmente, estos tutoriales han asumido que conoces conceptos de Java (clases, métodos, herencia, interfaces, etc.), aunque hoy en día cada vez más contenido se centra en Kotlin y Jetpack Compose, que simplifican bastante el desarrollo de interfaces modernas.

La dinámica suele ser ir presentando los conceptos fundamentales de Android (actividades, fragmentos, vistas, componentes de Compose, ciclo de vida, recursos, intents, etc.) mediante ejercicios resueltos paso a paso. Tras cada ejemplo, se proponen problemas similares para que practiques por tu cuenta.

Esta combinación de teoría y práctica hace que vayas interiorizando poco a poco la estructura típica de una app Android, el uso del manifest, la gestión de recursos en res, el papel de Gradle en la compilación y la integración con herramientas como el emulador o los generadores de perfiles.

Una vez te sientas cómodo con estos conceptos, muchos cursos y guías te animan a seguir con itinerarios más avanzados, como un curso específico de Android con Kotlin y Compose, donde se profundiza en arquitecturas modernas, navegación, estados, inyección de dependencias y buenas prácticas de escalabilidad.

Con todo lo anterior, el ecosistema Android te ofrece un entorno de desarrollo muy completo en el que Android Studio, Gradle y las herramientas de análisis y depuración cubren prácticamente todas las fases del ciclo de vida de una app: desde la idea inicial y la codificación hasta la optimización, la publicación y el mantenimiento continuo.

android studio guía completa para desarrollo
Related article:
Android Studio: guía completa para dominar el desarrollo de apps