Android Dev Summit, October 23-24: two days of technical content, directly from the Android team. Sign-up for livestream updates.

Cómo crear y editar configuraciones de ejecución y depuración

Cuando ejecutas, depuras o pruebas tu código, Android Studio usa una configuración de ejecución y depuración para determinar la manera de realizar la operación. Por lo general, la configuración predeterminada es suficiente para ejecutar o depurar una app. Sin embargo, puedes modificar y crear configuraciones nuevas, además de modificar las plantillas predeterminadas que se adapten a tu proceso de desarrollo como se describe en esta página.

Para obtener más información, consulta la siguiente documentación de IntelliJ:

Acerca de las configuraciones de ejecución y depuración

Las configuraciones de ejecución y depuración especifican detalles como las opciones de instalación, inicio y prueba de tu app. Puedes definir una configuración para un único uso o guardarla para usos futuros. Después de guardarla, puedes seleccionar la configuración de la lista desplegable Select Run/Debug Configuration, dentro de la barra de herramientas. Android Studio guarda configuraciones como parte del proyecto.

Configuración predeterminada de ejecución y depuración

Cuando creas un proyecto por primera vez, Android Studio genera una configuración predeterminada de ejecución y depuración para la actividad principal según la plantilla de Android App. Para ejecutar o depurar tu proyecto, siempre debes tener al menos una configuración de ejecución y depuración definida. Por esta razón, te recomendamos no borrar esta configuración.

Alcance del proyecto y control de la versión

Las configuraciones de ejecución y depuración, así como los cambios de plantillas, solo se aplican al proyecto actual. Puedes compartir una configuración de ejecución y depuración (pero no una plantilla) a través de tu sistema de control de versiones. Para obtener más información sobre cómo compartir una configuración, consulta Nombre y opciones de configuración para compartir.

Cómo abrir el diálogo "Run/Debug Configurations"

Para abrir el diálogo "Run/Debug Configurations", selecciona Run > Edit Configurations. Aparecerá el diálogo Run/Debug Configurations, como se muestra en la figura 1.

Figura 1: Diálogo Run/Debug Configurations

En el panel izquierdo del diálogo, se muestran plantillas predeterminadas debajo de la carpeta Defaults y grupos para los que definiste opciones de configuración según el tipo de plantilla encima de la carpeta Defaults. Puedes cambiar el tamaño del diálogo a fin de ver los elementos ocultos.

En este diálogo, puedes:

Cómo crear una configuración de ejecución y depuración nueva

Puedes definir configuraciones de ejecución y depuración nuevas desde el diálogo Run/Debug Configurations, la ventana Project o la herramienta Code Editor. La configuración nueva debe basarse en una plantilla predeterminada.

En el diálogo de las configuraciones de ejecución y depuración, se muestran tus configuraciones de ejecución y depuración, así como las plantillas predeterminadas disponibles. Puedes iniciar una configuración nueva directamente desde una plantilla o desde una copia de otra configuración. Luego, puedes cambiar los valores de campo cuando sea necesario.

También puedes hacer clic con el botón derecho sobre un elemento de la ventana Project a fin de crear de manera automática una configuración específica para ese elemento. Por ejemplo, si deseas ejecutar una actividad en particular, puedes hacer clic con el botón derecho sobre el archivo de la actividad Java y seleccionar Run. Según el elemento, Android Studio usa una plantilla predeterminada de Android App, Android Tests o JUnit para crear la configuración.

En Code Editor, puedes crear fácilmente una prueba y ejecutar o depurar la configuración para una clase o método, y luego ejecutarla.

Cuando crees una configuración fuera del diálogo Run/Debug Configurations, esta será temporaria a menos que la guardes. De forma predeterminada, puedes tener hasta cinco configuraciones temporarias en el proyecto antes de que Android Studio comience a quitarlas. Para cambiar este parámetro predeterminado, en el diálogo Run/Debug Configurations, haz clic en la carpeta Defaults y escribe un valor en el campo Temporary Configurations Limit. Para obtener más información sobre configuraciones temporarias, consulta Cómo crear y guardar configuraciones temporarias de ejecución y depuración.

Cómo iniciar una configuración según una plantilla

Para definir una configuración de ejecución y depuración según una plantilla, sigue estos pasos:

  1. Abre el diálogo "Run/Debug Configurations".
  2. Haz clic en Add New Configuration .
  3. Selecciona una plantilla predeterminada.
  4. Escribe un nombre en el campo Name.
  5. Modifica la configuración según sea necesario.
  6. Asegúrate de corregir cualquier error que se muestre en la parte inferior del diálogo.

  7. Haz clic en Apply o en OK.

Cómo iniciar una configuración desde una copia

Para definir una configuración de ejecución y depuración a partir de una copia de otra configuración, sigue estos pasos:

  1. Abre el diálogo "Run/Debug Configurations".
  2. Selecciona una configuración existente de ejecución y depuración en el panel izquierdo.
  3. Haz clic en Copy Configuration .
  4. Escribe un nombre en el campo Name.
  5. Modifica la configuración según sea necesario.
  6. Asegúrate de corregir cualquier error que se muestre en la parte inferior del diálogo.

  7. Haz clic en Apply o en OK.

Cómo definir una configuración para un elemento en el proyecto

Android Studio puede crear de manera automática una configuración de ejecución y depuración para algunos elementos que se muestran en la ventana Project. La configuración se basa en una plantilla predeterminada:

Para crear una configuración de ejecución y depuración de un elemento en tu proyecto, sigue estos pasos:

  1. Abre un proyecto en la vista Android o Project.
  2. En la ventana Project, haz clic con el botón derecho en un elemento comprobable y selecciona Run filename o Debug filename. Android Studio creará una configuración temporaria de ejecución y depuración, e iniciará tu app.
  3. En la barra de herramientas, selecciona Guardar en la lista desplegable Select Run/Debug Configuration. Si no ves la barra, selecciona View > Toolbar.

Figura 2. Cómo guardar la configuración

Nota: Si haces clic con el botón derecho y ejecutas o depuras el mismo elemento (pero no una actividad), Android Studio creará una configuración nueva.

Cómo definir una configuración de pruebas para una clase o un método

Android Studio te permite definir una configuración de ejecución de prueba para una clase o un método y, luego, ejecutarla. Por ejemplo, si creas una clase nueva, puedes crear y ejecutar una prueba para esta. Si se pasa la prueba, puedes ejecutar pruebas para el resto del proyecto a fin de controlar que tu código nuevo no ocasione perjuicios en otro espacio.

Android Studio usa la plantilla Android Instrumented Tests o JUnit, según tu conjunto de orígenes. Para una prueba de una unidad local, de manera opcional, puedes realizar la ejecución con cobertura de código.

Si deseas crear una configuración de ejecución y depuración para una clase o un método en tu código Java, sigue estos pasos:

  1. Abre un proyecto en la vista Android o Project.
  2. Abre un archivo Java en Code Editor.
  3. Selecciona una clase o un método en el código y, luego, presiona Ctrl + mayúscula + T (Cmd + mayúscula + T).
  4. Selecciona Create New Test en el menú que aparece.
  5. En el diálogo Create Test, puedes cambiar o definir los valores y, luego, haz clic en OK.
  6. En el diálogo Choose Destination Directory, selecciona en qué parte del proyecto quieres que Android Studio ubique la prueba. Puedes especificar la ubicación mediante la estructura del directorio o seleccionando una clase vecina.
  7. Haz clic en OK.

    La prueba nueva aparecerá en la ventana Project del conjunto de orígenes de prueba correspondiente.

  8. Para ejecutar la prueba, realiza una de las siguientes acciones:
    • En la ventana Project, haz clic con el botón derecho sobre la prueba y selecciona Run o Debug.
    • En Code Editor, haz clic con el botón derecho en una definición de clase o un nombre de método del archivo de prueba, y selecciona Run o Debug para probar todos los métodos de la clase.
  9. En la barra de herramientas, selecciona Guardar en la lista desplegable Select Run/Debug Configuration.

Figura 3. Cómo guardar la configuración

Cómo ejecutar o depurar una app usando una configuración guardada

Si guardaste una configuración de ejecución y depuración, puedes seleccionarla antes de ejecutar o depurar tu app.

Para usar una configuración de ejecución y depuración guardada, sigue estos pasos:

  1. Selecciona la configuración de ejecución y depuración en la lista desplegable de Select Run/Debug Configuration, dentro de la barra de herramientas.
  2. La lista desplegable se encuentra a la izquierda de Run y Debug ; por ejemplo, .

  3. Selecciona Run > Run o Run > Debug.
  4. También puedes hacer clic en Run o Debug .

Nota: Durante una sesión de Instant Run, puedes seleccionar una configuración diferente de ejecución y depuración y, a continuación, hacer clic en Apply Changes .

Cómo editar una configuración de ejecución o depuración

Para editar una configuración de ejecución y depuración, sigue estos pasos:

  1. Abre el diálogo "Run/Debug Configurations".
  2. Selecciona una configuración del subpanel izquierdo.
  3. Modifica la configuración según sea necesario.
  4. Asegúrate de corregir cualquier error que se muestre en la parte inferior del diálogo.

  5. Haz clic en Apply o en OK.

Cómo editar una plantilla predeterminada de configuración de ejecución y depuración

Puedes editar las plantillas predeterminadas que proporciona Android Studio para que se adecuen a tu proceso de desarrollo. La edición de una plantilla no afecta las configuraciones existentes que la usan. Entonces, por ejemplo, si necesitas crear varias configuraciones de un tipo determinado, puedes editar la plantilla y, luego, volver a cambiarla cuando finalices.

Aunque no puedas crear plantillas nuevas, sí es posible crear configuraciones similares a una plantilla para usarlas. Puedes copiar una configuración y editar la copia para crear configuraciones nuevas.

Para editar una plantilla, sigue estos pasos:

  1. Abre el diálogo "Run/Debug Configurations".
  2. Expande la carpeta Defaults y selecciona una plantilla predeterminada.
  3. Modifica la configuración según sea necesario.
  4. Asegúrate de corregir cualquier error que se muestre en la parte inferior del diálogo.

  5. Haz clic en Apply o en OK.

Cómo ordenar y agrupar configuraciones

En el diálogo Run/Debug Configurations, puedes ordenar tus configuraciones para poder encontrarlas de forma rápida. Puedes ordenar alfabéticamente los elementos de la carpeta y crear carpetas nuevas para agrupar configuraciones.

Para hacerlo, sigue estos pasos:

  1. Abre el diálogo "Run/Debug Configurations".
  2. Selecciona una carpeta que contenga configuraciones.
  3. Haz clic en Sort Configurations .
  4. Haz clic en Apply o en OK.

Para agrupar configuraciones en carpetas, sigue estos pasos:

  1. Abre el diálogo "Run/Debug Configurations".
  2. Selecciona una carpeta que contenga configuraciones.
  3. Haz clic en Create New Folder .
  4. Escribe un nombre en el campo Name.
  5. Arrastra elementos en la misma categoría de plantilla hacia la carpeta.
  6. Ordena las carpetas y configuraciones en la misma categoría de plantilla arrastrándolas hasta la posición o usando Move Up y Move Down .
  7. Haz clic en Apply o en OK.

Cómo definir operaciones antes del lanzamiento

Puedes especificar tareas que deben ejecutarse antes de aplicar la configuración de ejecución y depuración. Las tareas se realizan en el orden en el que aparecen en la lista.

Nota: La definición de tareas previas al lanzamiento es una función avanzada. En lugar de usar esta función, te recomendamos disponer cualquier lógica de preparación como tareas en tu archivo build.gradle para que se ejecuten cuando se realice la compilación desde la línea de comandos.

Para crear una lista de tareas, sigue estos pasos:

  1. En la parte inferior del diálogo Run/Debug Configurations debajo de Before launch, haz clic en Add y selecciona un tipo de tarea. Si se abre un diálogo, completa los campos y haz clic en OK.
  2. Agrega más tareas cuando sea necesario.
  3. Para ordenar las tareas, selecciona una y haz clic en Up y Down para moverla hacia arriba o hacia abajo en la lista.
  4. Selecciona Show this page si deseas mostrar los ajustes de configuración de ejecución y depuración antes de aplicarlos.

    Esta opción se deselecciona de forma predeterminada.

  5. Selecciona la ventana "Activate tool" si deseas activar la ventana de herramientas Run o Debug de manera automática cuando ejecutes o depures tu app.

    Esta opción está seleccionada de forma predeterminada.

Para quitar una tarea de la lista, sigue estos pasos:

  1. Selecciona una tarea.
  2. Haz clic en Remove .

Para editar una tarea, sigue estos pasos:

  1. Selecciona una tarea.
  2. Haz clic en Edit .
  3. Edita la configuración de tareas en el diálogo que se abrirá y haz clic en OK.

En la siguiente tabla, se enumeran las tareas disponibles que puedes agregar.

Tarea Descripción
Run External tool Permite ejecutar una aplicación que sea externa a Android Studio. En el diálogo External Tools, selecciona una o más apps que quieras ejecutar y, luego, haz clic en OK. Si la app todavía no está definida en Android Studio, agrega su definición en el diálogo Create Tools. Para obtener más información, consulta Configuración de herramientas de terceros y Herramientas externas.
Run Another Configuration Permite ejecutar una de las configuraciones existentes de ejecución y depuración. En el diálogo Choose Configuration to Execute, selecciona una configuración que se ejecutará y, luego, haz clic en OK.
Make Permite compilar el proyecto o el módulo. Android Studio ejecuta el comando Make Module si la configuración de ejecución y depuración especifica un módulo en particular o ejecuta el comando Make Project si no se especifican módulos.
Make Project Permite compilar el proyecto. Android Studio ejecuta el comando Make Project.
Make, no error check Esta opción es igual a Make, con la diferencia de que Android Studio ejecuta la configuración de ejecución y depuración independientemente del resultado de la compilación.
Build Artifacts No es compatible con Android Studio.
Run Gradle task Permite lanzar una tarea de Gradle. En el diálogo que se abre, especifica los detalles y, luego, haz clic en OK. Para obtener más información, consulta Gradle.
Gradle-aware Make Permite compilar el proyecto y ejecutar Gradle.
App Engine Gradle builder La tarea "App Engine Gradle builder" sincroniza el proyecto y, luego, compila el módulo.

Plantillas predeterminadas de configuración de ejecución y depuración

Android Studio proporciona plantillas de configuración predeterminadas que te permiten comenzar a trabajar al instante. En las siguientes secciones, se describen las plantillas que se aplican al desarrollo de Android con Android Studio:

Nota: Android Studio 2.1.x y las versiones anteriores tenían una plantilla de aplicación nativa, que las versiones nuevas no tienen. Si tienes una plantilla de aplicación nativa en un proyecto, Android Studio la convierte automáticamente en app de Android cuando cargas el proyecto. El diálogo Convert Project te guía en el proceso.

Plantillas no compatibles

Las siguientes plantillas no compatibles provienen de IntelliJ IDEA y no son específicas para el desarrollo de Android con Android Studio. Para obtener información sobre el uso de estas plantillas, sigue los vínculos a la documentación de IntelliJ IDEA.

Opciones de configuración de Name y Share

Las opciones Name y Share solo se aplican a las configuraciones. Cuando crees una configuración, asígnale un nombre y, si quieres compartirla, marca la casilla de verificación Share. No puedes asignarle un nombre a la plantilla y compartirla.

Usa la casilla de verificación Share a fin de que la configuración de ejecución y depuración esté disponible para otros miembros del equipo mediante el control de versiones. Si seleccionas esta opción, cuando el proyecto se verifique con un sistema de control de versiones, se incluirá la configuración de ejecución y depuración si alguien consulta el proyecto.

Android Studio almacena la configuración compartida de ejecución o depuración en archivos XML individuales en la carpeta project_directory/.idea/runConfigurations/. Para obtener más información, consulta el formato de proyecto según el directorio.

App para Android

Puedes ejecutar o depurar las apps y actividades de Android en dispositivos virtuales o hardware usando configuraciones basadas en esta plantilla.

Pestaña "General"

En la pestaña General, puedes especificar opciones de instalación, lanzamiento e implementación. La pestaña Miscellaneous también contiene opciones de instalación.

Campo Descripción
Module Permite seleccionar un módulo para aplicarle esta configuración.
Installation Options: Deploy

Selecciona una opción:

  • Default APK: Crea e implementa un APK para la variante seleccionada actualmente.
  • APK from app bundle: Crea e implementa tu app desde un Android App Bundle. Es decir, Android Studio primero convierte tu proyecto de app en un paquete de aplicación que incluye todos los recursos y el código compilado de tu app. Luego, a partir de ese paquete de aplicación, genera solo los APK necesarios para implementar tu app en el dispositivo conectado. Por lo general, usa esta opción solo cuando pruebes el paquete de aplicación que deseas subir en Google Play. Esto se debe a que la implementación desde un paquete de aplicación tiene las siguientes limitaciones que debes considerar:
    • Instant Run no funciona cuando se implementa desde un paquete de aplicación.
    • El sistema de compilación de Android Studio debe compilar un paquete de aplicación antes de usarlo en los APK que implementa en tu app, lo que extiende el tiempo total de compilación cuando implementas tu app.
  • Custom Artifact: No es compatible con Android Studio.
  • Nothing: No instales un APK en un dispositivo. Por ejemplo, si prefieres instalar el APK de modo manual, no necesitas que Android Studio lo instale.
Installation Options: Deploy as instant app Si tu app admite experiencias instantáneas, es decir, si agregas compatibilidad con apps instantáneas cuando creas un proyecto nuevo o si creas una o más funciones dinámicas compatibles con apps instantáneas, puedes elegir implementar esos módulos compatibles con apps instantáneas si marcas la casilla junto a Deploy as instant app.
Installation Options: Dynamic features to deploy Si tu app incluye módulos de funciones dinámicas, marca la casilla junto a cada función dinámica que quieras incluir cuando la implementes. Solo verás esta opción si tu app incluye funciones dinámicas.

Nota: Si deseas probar la descarga e instalación de módulos de funciones dinámicas a pedido, debes hacerlo después de publicar tu paquete de aplicación y, a continuación, usar la pista de prueba interna de Play Console. Para obtener más información, lee Cómo subir tu paquete de aplicación a Play Console.

Installation Options: Install Flags Escribe todas las opciones de pm install de adb que quieras usar. Aplica a las opciones el mismo formato que aplicarías en la línea de comandos, pero sin una ruta de acceso. Estos son algunos ejemplos:

-i foo.bar.baz -r /path/to/apk

y

-d -r

Valor predeterminado: ninguna opción

Launch Options: Launch

Selecciona una opción:

  • Nothing: No se iniciará ningún elemento cuando selecciones "Run" o "Debug". Sin embargo, si ya se está ejecutando tu app y seleccionas "Debug", Android Studio conectará el depurador al proceso de tu app.
  • Actividad predeterminada: Permite iniciar la actividad que marcaste como inicio en el manifiesto. Por ejemplo:
    
        <intent-filter>
          <action android:name="android.intent.action.MAIN" />
          <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        
  • Specified Activity: Permite iniciar una actividad de app específica en tu módulo. Cuando seleccionas esta opción, se muestra el campo Activity, en el que puedes escribir el nombre de la actividad que quieres lanzar o hacer clic en More para seleccionar una actividad de la lista.
  • URL: Permite lanzar una URL que coincide con un filtro de intent en el manifiesto de tu app. Cuando seleccionas esta opción, se muestra el campo URL, en el que puedes escribir la URL:

    Debes completar este campo para iniciar una app instantánea Android. También puedes usarlo a fin de probar los vínculos de tu app para Android.

Launch Options: Launch Flags Permite escribir las opciones de am start de adb que desees usar. Aplica formato a las opciones de la misma manera que lo harías en la línea de comandos, pero sin un intent. Por ejemplo:

-W

Esta opción no aparece si seleccionas Nothing como valor de Launch.

Valor predeterminado: ninguna opción

Deployment Target Options: Target

Selecciona una opción:

  • Open Select Deployment Target Dialog: Abre el diálogo Select Deployment Target para seleccionar un dispositivo virtual o de hardware.
  • USB Device: Permite usar un dispositivo de hardware conectado a tu computadora de desarrollo a través de un puerto USB. Si hay más de uno, aparecerá un diálogo para que puedas seleccionarlo.
  • Emulator: Permite usar un dispositivo virtual. En una configuración, puedes seleccionar un AVD. Como alternativa, solo usa el primer AVD de la lista.

Deployment Target Options: Use same device for future launches

De forma predeterminada, esta opción no está seleccionada para que cada vez que ejecutes una app, aparezca el cuadro de diálogo Select Deployment a fin de que selecciones un dispositivo. Si eliges esta opción y, luego, ejecutas una app, aparecerá el diálogo Select Deployment a fin de que selecciones un dispositivo. Luego, cada vez que ejecutes la app, se iniciará en el dispositivo que hayas elegido sin mostrar el diálogo Select Deployment. Para ejecutar la app en un dispositivo diferente, anula la selección de Use same device for future launches o detén la app con Run > Stop app o Stop , y vuelve a iniciarla. Aparecerá el diálogo Select Deployment para que puedas seleccionar un dispositivo.
Before Launch Consulta Cómo definir operaciones previas al lanzamiento.

Pestaña "Miscellaneous"

En la pestaña Miscellaneous, puedes especificar opciones de logcat, instalación, lanzamiento e implementación. La pestaña General también contiene opciones de instalación.

Campo Descripción
Logcat: Show logcat automatically Cuando se selecciona esta opción, se abre la ventana Logcat cada vez que implementas y ejecutas correctamente una app con esta configuración. Valor predeterminado: opción seleccionada.
Logcat: Clear log before launch Selecciona esta opción si deseas que Android Studio quite datos desde sesiones previas desde el archivo de registro antes de iniciar la app. Valor predeterminado: anular selección.
Installation Options: Skip installation if APK has not changed. Cuando se selecciona, Android Studio no vuelve a implementar tu APK si se detecta que no cambió. Si deseas que Android Studio instale el APK de manera forzosa, incluso si no cambió, anula la selección de esta opción. Valor predeterminado: opción seleccionada
Installation Options: Force stop running application before launching activity

Si se selecciona esta opción, cuando Android Studio determine que no debe reinstalar un APK porque no ha cambiado, forzará la detención de la app para que esta se inicie a partir de la actividad de lanzamiento predeterminada. Si no se anula la selección de esta opción, Android Studio no forzará la detención de la app.

Esta opción funciona con la opción anterior que controla si un APK está instalado o no. Deja ambos campos de Installation Options con sus valores predeterminados, a menos que desees forzar de manera explícita una instalación en cada ocasión.

En algunos casos, te recomendamos que anules la selección de esta opción. Por ejemplo, si escribes un motor de método de entrada (IME), la detención forzosa de la app anulará la selección de este como teclado actual, una acción que te recomendamos evitar.

Valor predeterminado: opción seleccionada

Before Launch Consulta Cómo definir operaciones previas al lanzamiento.

Pestaña "Debugger"

Especifica las opciones de depuración en la pestaña Debugger.

En el caso del código C y C++, Android Studio usa el depurador LLDB. Además de la IU de Android Studio normal, la ventana del depurador presenta una pestaña LLDB que te permite ingresar los comandos de LLDB durante la depuración. Puedes ingresar los mismos comandos que usa Android Studio para mostrar información en la IU del depurador y, además, puedes realizar operaciones adicionales.

Para los proyectos de C y C++, puedes agregar directorios de símbolos, como también comandos de arranque y posconexión de LLDB en la pestaña Debugger. Para ello, se usan botones similares a los siguientes:

  • Add : Se agrega un directorio o comando.
  • Remove : Se selecciona un directorio o comando y, luego, se hace clic en este botón para quitar el elemento.
  • Up : Se selecciona un directorio o comando y, luego, se hace clic en este botón para mover el elemento hacia arriba en la lista.
  • Down : Se selecciona un directorio o comando y, luego, se hace clic en este botón para mover el elemento hacia abajo en la lista.

Consulta Cómo depurar tu app para obtener más información sobre la depuración en Android Studio.

Campo Descripción
Debug type

Selecciona una de las siguientes opciones:

  • Java: Se depura solo el código Java.
  • Auto: Permite que Android Studio elija el mejor tipo de depuración para tu proyecto.
  • Native: Se depura el código C o C++ nativo.
  • Dual: Se depuran el código Java y el código nativo en dos sesiones de depuración por separado.

Se recomienda la opción Auto, ya que selecciona automáticamente el tipo de depuración correcto para tu proyecto.

Symbol Directories

Si deseas agregar archivos de símbolos para proporcionar al depurador información de C o C++ generada fuera de Android Studio, puedes agregar uno o más directorios aquí. Android Studio priorizará el uso de cualquier archivo de estos directorios en lugar de los archivos generados por el complemento de Android para Gradle. El depurador inspecciona los directorios de arriba abajo, en orden, hasta que encuentra lo que necesita. Haz búsquedas de manera recursiva en los archivos del directorio. Para optimizar la lista y ahorrar tiempo, dispón los directorios usados con mayor frecuencia en la parte superior de la lista.

Si especificas un directorio en la parte superior del árbol, puede llevar más tiempo inspeccionar todos los subdirectorios. Si agregas un directorio muy específico, el tiempo de búsqueda será menor. Debes encontrar el equilibrio correcto entre la velocidad y la localización de los archivos que necesitas para la depuración. Por ejemplo, si tienes un directorio que contiene subdirectorios para diferentes interfaces binarias de Android (ABI), puedes optar por agregar un directorio para una ABI específica o para todas. Si bien puede llevar más tiempo hacer búsquedas en el directorio de nivel superior, se trata de una opción más infalible en caso de que decidas realizar la depuración en un dispositivo diferente.

Ten en cuenta que no debes agregar directorios que contengan archivos de símbolos de Gradle porque el depurador los usará de manera automática.

LLDB Startup Commands

Agrega comandos de LLDB que desees ejecutar antes de que se conecte el depurador al proceso. Por ejemplo, puedes definir una configuración para el entorno, como se muestra en el siguiente comando:

settings set target.max-memory-read-size 2048

LLDB ejecuta los comandos en orden de arriba abajo.

LLDB Post Attach Commands

Agrega comandos de LLDB que desees ejecutar inmediatamente después de que se conecte el depurador al proceso. Por ejemplo:

process handle SIGPIPE -n true -p true -s false

LLDB ejecuta los comandos en orden de arriba abajo.

Host working directory Especifica el directorio de trabajo de LLDB.
Logging: Target channels

Especifica las opciones de registro de LLDB. Android Studio configura las opciones predeterminadas según la experiencia del equipo, de modo que el proceso no sea demasiado lento y, no obstante, contenga la información necesaria para solucionar problemas. A menudo, es necesario registrarse para acceder a los informes de errores de Android Studio. La configuración predeterminada es la siguiente:

lldb process:gdb-remote packets

Puedes modificar la configuración predeterminada para recopilar más información. Por ejemplo, las siguientes opciones de registro permiten recopilar información sobre una platform específica:

lldb process platform:gdb-remote packets

Para obtener una lista completa de comandos de registro, ingresa el comando log list desde una ventana terminal de LLDB en Android Studio.

Android Studio dispone los registros del dispositivo en la siguiente ubicación, donde ApplicationId es el ID de aplicación exclusivo que se usa en el manifiesto del APK compilado, y permite identificar tu app en tu dispositivo y en Google Play Store:

/data/data/ApplicationId/lldb/log

Si varios usuarios acceden a un dispositivo, Android Studio dispone los registros en la siguiente ubicación, donde AndroidUserId es el identificador exclusivo de un usuario en el dispositivo:

/data/user/AndroidUserId/ApplicationId/lldb/log

Si deseas obtener información sobre cómo usar LLDB para la depuración remota, consulta Depuración remota.

Before Launch Consulta Cómo definir operaciones previas al lanzamiento.

Pestaña "Profiling"

Cuando tu dispositivo ejecuta Android 7.1 o una versión anterior, la opción Enable advanced profiling debe estar marcada a fin de habilitar determinadas funciones en Android Profiler.

Android Tests

La plantilla de pruebas que debes usar depende de tu conjunto de orígenes. La plantilla Android Instrumented Tests se usa para una prueba instrumentada, mientras que Android JUnit se aplica a una prueba de unidad local.

Nota: Si estás usando Firebase Test Lab para realizar la prueba en varios dispositivos, puedes usar la plantilla Android JUnit a fin de definir tus pruebas instrumentadas. Para obtener más información, consulta Cómo ejecutar tus pruebas con Firebase Test Lab.

A continuación, se describen las pestañas en la plantilla Android Instrumented Test. Si deseas obtener más información sobre las pestañas y los campos de la plantilla de prueba de Android JUnit, consulta la página Run/Debug Configuration: JUnit de IntelliJ.

Pestaña "General"

En la pestaña General, puedes especificar la ubicación de la prueba, el ejecutor de instrumentación, el shell de PDA y las opciones de depuración.

Campo Descripción
Module Permite seleccionar un módulo para aplicarle esta configuración.
Test

En esta área, especifica la ubicación de pruebas que deseas ejecutar:

  • All in module: Inicia todas las pruebas desde el módulo seleccionado.
  • All in package: Inicia todas las pruebas desde el paquete que se especifica en el campo Package. Escribe el nombre o haz clic en More para seleccionar el paquete en un diálogo.
  • Class: Inicia pruebas de la clase especificada en el campo Class. Escribe el nombre o haz clic en More para seleccionar la clase en un diálogo.
  • Method: Inicia un método de prueba. En el campo Class, especifica la clase que contiene el método. En el campo Method, especifica el método. Escribe el nombre o haz clic en More para seleccionar la clase o el método en un diálogo.
Specific instrumentation runner (optional) Escribe la ubicación del ejecutor de instrumentación y haz clic en More para usar un diálogo. En el archivo build.gradle, se especifica la ubicación del ejecutor de instrumentación; este valor lo anula. Por lo general, el valor predeterminado es la clase AndroidJUnitRunner de AndroidX Test.
Extra options

Permite escribir las opciones de am instrument de adb que quieres usar. No escribas el componente. Por ejemplo, si usas AndroidJUnitRunner de AndroidX Test, puedes utilizar este campo para pasar opciones adicionales al ejecutor, como -e size small.

Valor predeterminado: ninguna opción.

Deployment Target Options: Target

Selecciona una opción:

  • Open Select Deployment Target Dialog: Abre el diálogo Select Deployment Target para seleccionar un dispositivo virtual o de hardware.
  • USB Device: Permite usar un dispositivo de hardware conectado a tu computadora de desarrollo a través de un puerto USB. Si hay más de uno, aparecerá un diálogo para que puedas seleccionarlo.
  • Emulator: Permite usar un dispositivo virtual. En una configuración, puedes seleccionar un AVD. Como alternativa, solo usa el primer AVD de la lista.
  • Firebase Test Lab Device Matrix: Consulta Cómo ejecutar tus pruebas con Firebase Test Lab.
Deployment Target Options: Use same device for future launches Si deseas usar de manera automática el dispositivo que elegiste a través del diálogo Select Deployment Target en el futuro, selecciona esta opción. Si el dispositivo no está disponible, verás aparecer un diálogo. Valor predeterminado: opción no seleccionada
Before Launch Consulta Cómo definir operaciones previas al lanzamiento.

Pestaña "Miscellaneous"

La pestaña Miscellaneous incluye opciones de logcat e instalación.

Campo Descripción
Logcat: Clear log before launch Selecciona esta opción si deseas que Android Studio quite datos desde sesiones previas desde el archivo de registro antes de iniciar la app. Valor predeterminado: anular selección.
Installation Options: Skip installation if APK has not changed Cuando se selecciona, Android Studio no vuelve a implementar tu APK si se detecta que no cambió. Si deseas que Android Studio instale el APK de manera forzosa, incluso si no cambió, anula la selección de esta opción. Valor predeterminado: opción seleccionada
Installation Options: Force stop running application before launching activity

Si se selecciona esta opción, cuando Android Studio determine que no debe reinstalar un APK porque no ha cambiado, forzará la detención de la app para que esta se inicie a partir de la actividad de lanzamiento predeterminada. Si no se anula la selección de esta opción, Android Studio no forzará la detención de la app.

Esta opción funciona en conjunto con la opción previa que verifica si se instala o no un APK. Deja ambos campos de Installation Options con sus valores predeterminados, a menos que desees forzar de manera explícita una instalación en cada ocasión.

En algunos casos, te recomendamos que anules la selección de esta opción. Por ejemplo, si escribes un motor de método de entrada (IME), la detención forzosa de la app anulará la selección de este como teclado actual, una acción que te recomendamos evitar.

Valor predeterminado: opción seleccionada

Before Launch Consulta Cómo definir operaciones previas al lanzamiento.

Pestaña "Debugger"

Especifica las opciones de depuración en la pestaña Debugger.

En el caso del código C y C++, Android Studio usa el depurador LLDB. Además de la IU de Android Studio normal, la ventana del depurador presenta una pestaña LLDB que te permite ingresar los comandos de LLDB durante la depuración. Puedes ingresar los mismos comandos que usa Android Studio para mostrar información en la IU del depurador y, además, puedes realizar operaciones adicionales.

Para los proyectos de C y C++, puedes agregar directorios de símbolos, como también comandos de arranque y posconexión de LLDB en la pestaña Debugger. Para ello, se usan botones similares a los siguientes:

  • Add : Se agrega un directorio o comando.
  • Remove : Se selecciona un directorio o comando y, luego, se hace clic en este botón para quitar el elemento.
  • Up : Se selecciona un directorio o comando y, luego, se hace clic en este botón para mover el elemento hacia arriba en la lista.
  • Down : Se selecciona un directorio o comando y, luego, se hace clic en este botón para mover el elemento hacia abajo en la lista.

Consulta Cómo depurar tu app para obtener más información sobre la depuración en Android Studio.

Campo Descripción
Debug type

Selecciona una de las siguientes opciones:

  • Java: Se depura solo el código Java.
  • Auto: Permite que Android Studio elija el mejor tipo de depuración para tu proyecto.
  • Native: Se depura el código C o C++ nativo.
  • Dual: Se depuran el código Java y el código nativo en dos sesiones de depuración por separado.

Se recomienda la opción Auto, ya que selecciona automáticamente el tipo de depuración correcto para tu proyecto.

Symbol Directories

Si deseas agregar archivos de símbolos para proporcionar al depurador información de C o C++ generada fuera de Android Studio, puedes agregar uno o más directorios aquí. Android Studio priorizará el uso de cualquier archivo de estos directorios en lugar de los archivos generados por el complemento de Android para Gradle. El depurador inspecciona los directorios de arriba abajo, en orden, hasta que encuentra lo que necesita. Haz búsquedas de manera recursiva en los archivos del directorio. Para optimizar la lista y ahorrar tiempo, dispón los directorios usados con mayor frecuencia en la parte superior de la lista.

Si especificas un directorio en la parte superior del árbol, puede llevar más tiempo inspeccionar todos los subdirectorios. Si agregas un directorio muy específico, el tiempo de búsqueda será menor. Debes encontrar el equilibrio correcto entre la velocidad y la localización de los archivos que necesitas para la depuración. Por ejemplo, si tienes un directorio que contiene subdirectorios para diferentes interfaces binarias de Android (ABI), puedes optar por agregar un directorio para una ABI específica o para todas. Si bien puede llevar más tiempo hacer búsquedas en el directorio de nivel superior, se trata de una opción más infalible en caso de que decidas realizar la depuración en un dispositivo diferente.

Ten en cuenta que no debes agregar directorios que contengan archivos de símbolos de Gradle porque el depurador los usará de manera automática.

LLDB Startup Commands

Agrega comandos de LLDB que desees ejecutar antes de que se conecte el depurador al proceso. Por ejemplo, puedes definir una configuración para el entorno, como se muestra en el siguiente comando:

settings set target.max-memory-read-size 2048

LLDB ejecuta los comandos en orden de arriba abajo.

LLDB Post Attach Commands

Agrega comandos de LLDB que desees ejecutar inmediatamente después de que se conecte el depurador al proceso. Por ejemplo:

process handle SIGPIPE -n true -p true -s false

LLDB ejecuta los comandos en orden de arriba abajo.

Host working directory Especifica el directorio de trabajo de LLDB.
Logging: Target channels

Especifica las opciones de registro de LLDB. Android Studio configura las opciones predeterminadas según la experiencia del equipo, de modo que el proceso no sea demasiado lento y, no obstante, contenga la información necesaria para solucionar problemas. A menudo, es necesario registrarse para acceder a los informes de errores de Android Studio. La configuración predeterminada es la siguiente:

lldb process:gdb-remote packets

Puedes modificar la configuración predeterminada para recopilar más información. Por ejemplo, las siguientes opciones de registro permiten recopilar información sobre una platform específica:

lldb process platform:gdb-remote packets

Para obtener una lista completa de comandos de registro, ingresa el comando log list desde una ventana terminal de LLDB en Android Studio.

Android Studio dispone los registros del dispositivo en la siguiente ubicación, donde ApplicationId es el ID de aplicación exclusivo que se usa en el manifiesto del APK compilado, y permite identificar tu app en tu dispositivo y en Google Play Store:

/data/data/ApplicationId/lldb/log

Si varios usuarios acceden a un dispositivo, Android Studio dispone los registros en la siguiente ubicación, donde AndroidUserId es el identificador exclusivo de un usuario en el dispositivo:

/data/user/AndroidUserId/ApplicationId/lldb/log

Si deseas obtener información sobre cómo usar LLDB para la depuración remota, consulta Depuración remota.

Before Launch Consulta Cómo definir operaciones previas al lanzamiento.

App Engine DevAppServer

Esta configuración de ejecución y depuración se aplica a Google Cloud Platform. Para obtener más información, consulta Cómo ejecutar, probar e implementar el backend. Cuando sigues estos pasos y sincronizas tu proyecto con el archivo build.gradle, Android Studio crea una configuración App Engine DevAppServer para ti.

Ten en cuenta que la plantilla App Engine Server de IntellJ IDEA es diferente y no está disponible en Android Studio.

Campo Descripción
Single instance only Elige esta opción si quieres asegurarte de que solo se ejecute una instancia de la configuración de ejecución y depuración. No permite varias ejecuciones de la misma configuración al mismo tiempo. Valor predeterminado: opción seleccionada
Module Permite seleccionar un módulo para aplicarle esta configuración.
Synchronize with build.gradle configuration Si agregas un módulo de App Engine y lo sincronizas con el archivo build.gradle, se completan de forma automática los campos de configuración de App Engine DevAppServer (recomendado). Si seleccionas File > Sync Project with Gradle Files también se sincroniza el proyecto. Valor predeterminado: opción seleccionada
App Engine SDK Permite escribir una ruta de acceso en un Google App Engine SDK para Java en el equipo local. Haz clic en para seleccionarlo en un diálogo.
War Path Permite escribir una ruta de acceso para el directorio Web Application Archive (WAR) de la app que implementarás en el servidor de desarrollo local. Haz clic en para seleccionarlo en un diálogo.
VM Args

Especifica las opciones de la línea de comandos que desees pasar a la VM para iniciar DevAppServer. Cuando lo hagas, haz lo siguiente:

  • Usa espacios para separar diferentes opciones.
  • Para opciones con espacios, encierra el espacio con comillas (" ").
  • Si una opción incluye comillas, agrega una barra diagonal inversa antes de las comillas (\").

Para obtener más información sobre las opciones de la VM, consulta la documentación para tu versión J2SE, como java JDK 7 y java JDK 8.

Valor predeterminado: ninguna opción.

Server Address Escribe la dirección que se usará para el servidor. Tal vez debas proporcionar la dirección para poder acceder al servidor de desarrollo desde otra computadora de tu red. Una dirección de 0.0.0.0 permite acceder al localhost y al nombre de host. Valor predeterminado: localhost
Server Port Escribe el número de puerto que se usará para el servidor. Valor predeterminado: 8080
Disable Check for App Engine SDK Updates Si lo haces, el servidor de desarrollo no se comunicará con App Engine para comprobar la disponibilidad de una versión nueva del SDK. De manera predeterminada, el servidor busca versiones nuevas al iniciarse y, luego, imprime un mensaje si hay una nueva versión disponible.
Before Launch Consulta Cómo definir operaciones previas al lanzamiento.