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 creada inicialmente es suficiente para ejecutar o depurar una app. Sin embargo, puedes modificar y crear configuraciones nuevas, además de modificar las plantillas de configuración para 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:

Información sobre 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 la 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 de ejecución y depuración creada inicialmente

Cuando creas un proyecto por primera vez, Android Studio genera una configuración de ejecución y depuración para la actividad principal basada en la plantilla Android App. Para ejecutar o depurar tu proyecto, siempre debes tener al menos una configuración de ejecución y depuración definida. Por este motivo, te recomendamos que no borres la configuración creada inicialmente.

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 versión. Si quieres obtener más información para 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 cuadro de diálogo, se agrupan las configuraciones definidas por tipo de plantilla. Allí puedes editar las plantillas de configuración en la parte inferior. Puedes editar la configuración seleccionada en el panel derecho. Cambia el tamaño del diálogo para 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 el editor de código. La configuración nueva debe basarse en una plantilla de configuración.

En el diálogo Run/Debug Configurations, se muestran tus configuraciones de ejecución y depuración, así como las plantillas de configuración 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 automáticamente 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 de configuración Android App, Android Instrumented Tests o JUnit para crear la configuración.

En el editor de código, puedes crear fácilmente una prueba y ejecutar o depurar una configuración para una clase o un método, y luego ejecutarla.

Cuando crees una configuración fuera del diálogo Run/Debug Configurations, esta será temporal a menos que la guardes. De forma predeterminada, puedes tener hasta cinco configuraciones temporales en el proyecto antes de que Android Studio comience a quitarlas. Para cambiar esta configuración predeterminada, abre la configuración de Android Studio y cambia Advanced Settings > Run/Debug > Temporary configurations limit. Para obtener más información sobre configuraciones temporales, consulta Cómo crear y guardar configuraciones temporales de ejecución y depuración.

Cómo iniciar una configuración basada en 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 de configuración.
  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 subpanel 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 del proyecto

Android Studio puede crear 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 de configuración, de la siguiente manera:

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 que se pueda probar y selecciona Run filename o Debug filename. Android Studio creará una configuración temporal de ejecución y depuración y, luego, iniciará tu app.
  3. Abre la lista desplegable Select Run/Debug Configuration, en la barra de herramientas.
  4. Selecciona Save Configuration en las opciones que están junto a la configuración que deseas guardar.

    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 prueba 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 generar y ejecutar una prueba para ella. Si se pasa la prueba, puedes ejecutar las pruebas para el resto del proyecto y controlar que tu código nuevo no genere errores en otro espacio.

Android Studio usa la plantilla Android Instrumented Tests o Android JUnit, según tu conjunto de orígenes. Si seleccionaste una prueba de unidades local, tienes la opción de ejecutarla 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úsculas + T (Cmd + Mayúsculas + T).
  4. Selecciona Create New Test en el menú que aparece.
  5. En el diálogo Create Test, cambia o establece los valores de manera opcional y, luego, haz clic en OK.
  6. En el diálogo Choose Destination Directory, selecciona el lugar del proyecto en el que quieras que Android Studio coloque la prueba. Puedes especificar la ubicación mediante la estructura del directorio o seleccionando una clase vecina.
  7. Haz clic en ACEPTAR.

    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 el editor de código, haz clic con el botón derecho en una definición de clase o nombre de método del archivo de prueba, y selecciona Run o Debug para probar todos los métodos de la clase.
  9. Abre la lista desplegable Select Run/Debug Configuration, en la barra de herramientas.
  10. Selecciona Save Configuration en las opciones que están junto a la configuración que deseas guardar.

    Figura 3: Cómo guardar la configuración

Cómo ejecutar o depurar una app con 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 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 .

Cómo editar una configuración de ejecución y 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 de configuración de ejecución y depuración

Puedes editar las plantillas de configuración que proporciona Android Studio para que se adapten a tu proceso de desarrollo. La edición de una plantilla no afecta las configuraciones existentes que la usan. 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. Haz clic en Edit configuration templates….
  3. Selecciona una plantilla de configuración.
  4. Modifica la configuración según sea necesario.
  5. Asegúrate de corregir cualquier error que se muestre en la parte inferior del diálogo.

  6. 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 los elementos de la carpeta alfabéticamente y crear carpetas nuevas a fin de 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 OK para cerrar el cuadro de diálogo.

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 Folder Name.
  5. Haz clic en Apply para guardar el nombre.
  • Arrastra elementos en la misma categoría de plantilla hacia la carpeta.
  • Ordena las carpetas y las configuraciones en la misma categoría de plantilla arrastrándolas hasta la posición.
  • Haz clic en OK para cerrar el cuadro de diálogo.
  • Cómo definir operaciones previas al lanzamiento

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

    Nota: La definición de tareas previas al inicio 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 que está debajo de Before launch (es posible que debas desplazarte hacia abajo), 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, arrástralas o selecciónalas, y haz clic en Up y Down para moverlas hacia arriba o 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 no está seleccionada de forma predeterminada.

    5. Selecciona la ventana Active tool si deseas activar la ventana de herramientas Run o Debug 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 aparece y haz clic en OK.

    En la siguiente tabla, se enumeran las tareas disponible 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 aplicaciones que desees ejecutar y luego haz clic en OK. Si la aplicación aún 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 la configuración que quieres ejecutar y haz clic en OK.
    Hacer 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 Compila el proyecto. Android Studio ejecuta el comando Make Project.
    Make, no error check Esta opción es igual a Make, con la excepción 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 ejecutar una tarea de Gradle. En el diálogo que aparece, especifica los detalles y 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 de configuración

    Android Studio proporciona plantillas de configuración 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 para 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 comunes

    Las opciones Nombre, Permitir ejecución en paralelo y Almacenar como archivo de proyecto son comunes a varias plantillas de configuración. Para obtener más información sobre ellas, consulta Configuración común.

    Android Studio almacena la configuración compartida de ejecución y depuración en archivos XML individuales en la carpeta project_directory/.idea/runConfigurations/. Para obtener más información, consulta Formato basado en directorios en la documentación de los proyectos de IntelliJ.

    App para Android

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

    Pestaña General

    En la pestaña General, puedes especificar opciones de instalación, inicio 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: Permite crear e implementar un APK para la variante seleccionada actualmente.
    • APK from app bundle: Permite crear e implementar tu app desde un Android App Bundle. Es decir, Android Studio primero convierte tu proyecto en un paquete de aplicación que incluye todos los recursos y el código compilado de tu app. Después, a partir de ese paquete, genera solamente los APKs necesarios para implementar tu app en el dispositivo conectado. Por lo general, debes usar esta opción cuando pruebas el paquete de aplicación que quieres subir a Google Play, ya que las implementaciones desde paquetes incrementan el tiempo total de compilación.
    • 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, agregas compatibilidad con apps instantáneas cuando creas un proyecto nuevo o uno o más módulos de funciones habilitadas de forma instantánea, puedes elegir implementarlos marcando la casilla junto a Deploy as instant app.
    Opciones de instalación: Funciones que se implementarán Si tu app incluye módulos de funciones, marca la casilla junto a cada función que desees incluir cuando la implementes. Solo verás esta opción si tu app incluye módulos de funciones.

    Nota: Si deseas probar la descarga e instalación de módulos de funciones a pedido, debes hacerlo después de publicar tu paquete de aplicación y usar el segmento de pruebas internas 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 Permite escribir cualquier opción pm install 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 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 su app.
    • Default Activity: 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 en la 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 iniciar o hacer clic en More para seleccionar una actividad de la lista.
    • URL: Permite iniciar una URL que coincida con un filtro de intents en el manifiesto de la app. Cuando se selecciona, aparece el campo URL debajo, donde puedes ingresar 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 cualquier opción 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. De este modo, cada vez que ejecutas una app, aparece el diálogo Select Deployment para que selecciones un dispositivo. Si eliges esta opción y ejecutas una app, aparecerá el diálogo Select Deployment para 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, inicio 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 de sesiones anteriores del archivo de registro antes de iniciar la app. Valor predeterminado: no seleccionado.
    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 fuerce una instalación del APK, 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 cambió, forzará la detención de la app para que esta se abra a partir de la actividad de inicio 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 no seleccionar esta opción. Por ejemplo, si escribes un motor de método de entrada (IME), forzar la detención 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 normal de Android Studio, 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 se hace clic en este botón para quitar el elemento.
    • Up : Se selecciona un directorio o comando, y se hace clic en este botón para mover el elemento hacia arriba en la lista.
    • Down : Se selecciona un directorio o comando, y 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 only: Depura solo código Java.
    • Detect Automatically: Permite que Android Studio elija el mejor tipo de depuración para tu proyecto.
    • Native: Depura el código C o C++ nativo.
    • Dual (Java + Native): Depura código Java y nativo en dos sesiones de depuración por separado.

    Se recomienda la opción Detect Automatically porque elige 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. Realiza 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 las ABI. Si bien puede llevar más tiempo buscar en el directorio de nivel superior, es también una opción más infalible si decides realizar la depuración en un dispositivo diferente.

    Ten en cuenta que no debes agregar directorios que contengan archivos de símbolos de Gradle, ya que el depurador los usará automáticamente.

    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 coloca los registros del dispositivo en la siguiente ubicación, en la que ApplicationId es el ID de aplicación único que se usa en el manifiesto de APK compilado y que permite identificar tu app en el dispositivo y en Google Play Store:

    /data/data/ApplicationId/lldb/log

    Si varios usuarios acceden a un dispositivo, Android Studio coloca los registros en la siguiente ubicación, en la que AndroidUserId es un identificador único 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 prueba que debes usar depende de tu conjunto de orígenes. La plantilla Android Instrumented Tests se usa para una prueba de instrumentación. La plantilla Android JUnit es para una prueba de unidades 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 y los campos que encontrarás 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 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 adb y las opciones de implementación.

    Campo Descripción
    Módulo Permite seleccionar un módulo para aplicarle esta configuración.
    Realiza pruebas

    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 cualquier opción am instrument de adb que desees usar. No escribas el componente. Por ejemplo, si usas AndroidJUnitRunner de AndroidX Test, puedes usar 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 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 de sesiones anteriores del archivo de registro antes de iniciar la app. Valor predeterminado: no seleccionado.
    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 fuerce una instalación del APK, 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 cambió, forzará la detención de la app para que esta se abra a partir de la actividad de inicio 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 no seleccionar esta opción. Por ejemplo, si escribes un motor de método de entrada (IME), forzar la detención 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 normal de Android Studio, 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 se hace clic en este botón para quitar el elemento.
    • Up : Se selecciona un directorio o comando, y se hace clic en este botón para mover el elemento hacia arriba en la lista.
    • Down : Se selecciona un directorio o comando, y 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 only: Depura solo código Java.
    • Detect Automatically: Permite que Android Studio elija el mejor tipo de depuración para tu proyecto.
    • Native: Depura el código C o C++ nativo.
    • Dual (Java + Native): Depura código Java y nativo en dos sesiones de depuración por separado.

    Se recomienda la opción Detect Automatically porque elige 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. Realiza 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 las ABI. Si bien puede llevar más tiempo buscar en el directorio de nivel superior, es también una opción más infalible si decides realizar la depuración en un dispositivo diferente.

    Ten en cuenta que no debes agregar directorios que contengan archivos de símbolos de Gradle, ya que el depurador los usará automáticamente.

    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 coloca los registros del dispositivo en la siguiente ubicación, en la que ApplicationId es el ID de aplicación único que se usa en el manifiesto de APK compilado y que permite identificar tu app en el dispositivo y en Google Play Store:

    /data/data/ApplicationId/lldb/log

    Si varios usuarios acceden a un dispositivo, Android Studio coloca los registros en la siguiente ubicación, en la que AndroidUserId es un identificador único 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 por 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
    Módulo 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, los campos de configuración de App Engine DevAppServer se completan de forma automática (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 SDK de Google App Engine 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 de archivo de app web (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 inversa antes de las comillas (\").

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

    Valor predeterminado: ninguna opción.

    Dirección del servidor 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 forma predeterminada, el servidor busca una versión nueva al inicio y, luego, imprime un mensaje si hay una versión nueva disponible.
    Before Launch Consulta Cómo definir operaciones previas al lanzamiento.

    Configuración de ejecución y depuración de Wear OS

    Las plantillas de complicaciones, mosaicos y caras de reloj de Wear OS te permiten ejecutar o depurar apps para Wear OS en dispositivos virtuales o de hardware. La mayoría de las opciones de configuración de plantillas son las mismas que las Opciones de la app de Android. Estas son las opciones más específicas para las configuraciones de ejecución y depuración de Wear OS:

    • Para todas las configuraciones de ejecución y depuración de Wear, debes seleccionar una fuente de datos de complicación, un mosaico o una cara de reloj específicos (según la plantilla) al que se aplicará la configuración. En general, cada una de estas entidades corresponde a una clase en tu código.
    • Para la configuración de ejecución y depuración de complicaciones de Wear OS, debes elegir la Ranura en la que quieres colocar los datos de complicaciones proporcionados por la fuente de datos de complicaciones. Puedes elegir colocarlos en la parte superior, derecha, inferior, izquierda o de fondo de la cara del reloj.
    • Para la configuración de ejecución y depuración de complicaciones de Wear OS, también debes seleccionar el Tipo de datos de complicaciones proporcionados por la fuente de datos de complicaciones. Los tipos entre los que puedes elegir se limitan a los que se proporcionan con la fuente de datos de complicaciones elegida y admitida por la ranura seleccionada. Para obtener una lista de los tipos de datos de complicaciones, consulta Tipos y campos.

    Como alternativa, puedes ejecutar estas superficies desde el ícono de margen ubicado junto a la declaración de la superficie, tal como se muestra en la siguiente imagen.

    Botón Ejecutar en el margen junto a una clase WatchFaceService.
    Figura 1: Ejecuta una superficie de Wear OS directamente con el ícono de margen.