Skip to content

Most visited

Recently visited

navigation

Generar perfiles y depurar APK previamente compilados

Android Studio 3.0 te permite generar perfiles y depurar APK sin tener que compilarlos desde un proyecto de Android Studio. No obstante, debes asegurarte de usar una versión depurable del APK.

Para comenzar a depurar un APK, haz clic en Profile o debug APK en la pantalla de bienvenida de Android Studio. O bien, si ya tienes un proyecto abierto, haz clic en File > Profile o debug APK en la barra de menú. En la ventana de diálogo siguiente, selecciona el APK que desees importar a Android Studio y haz clic en OK. Verás algo similar a lo que aparece en la figura 1.

Figura 1: Importación de un APK previamente compilado a Android Studio.

Nota: Cuando importas un APK a Android Studio, el IDE crea un proyecto nuevo en tu directorio principal y realiza una copia local del APK de destino. Esto significa que si vuelves a compilar o actualizas el APK original, deberás volver a importar manualmente la versión actualizada a Android Studio.

La vista Android, en el subpanel Project, te permite explorar el siguiente contenido de tu APK:

Puedes usar el generador de perfiles de Android de inmediato para comenzar a probar el rendimiento de tu app. No obstante, esta herramienta actualmente funciona únicamente con los procesos Java de tu app. Para depurar el código Java y el código nativo de tu app usando puntos de interrupción, primero debes adjuntar las fuentes de Java y símbolos de depuración nativa.

Adjuntar fuentes de Java

De forma predeterminada, Android Studio extrae código Java de tu APK y lo guarda como archivos .smali. Para depurar el código Java usando puntos de interrupción, debes adjuntar las fuentes de Java a cada archivo .smali que desees depurar.

Para adjuntar fuentes de Java, sigue estos pasos:

  1. Haz doble clic en el archivo .smali del subpanel Project (usa la vista Android). Una vez que se abre el archivo, en el editor se muestra un banner de advertencia amarillo en el que se te solicita seleccionar las fuentes de Java, como se muestra en la figura 1.
  2. Haz clic en Attach Java Sources, en la parte superior de la ventana del editor.
  3. Dirígete al directorio en el que se encuentran los archivos de origen de Java y haz clic en Open.

En la ventana Project, el IDE reemplaza los archivos .smali con sus archivos .java correspondientes. Ahora puedes agregar puntos de interrupción y depurar tu app como lo harías normalmente.

Adjuntar símbolos de depuración nativa

Si tu APK incluye bibliotecas nativas (archivos .so) que no incluyen símbolos de depuración, el IDE te mostrará en la ventana Messages una advertencia similar a la que se muestra en la figura X. No puedes depurar el código nativo del APK ni usar puntos de interrupción sin adjuntar bibliotecas nativas depurables. Si todavía no lo hiciste, asegúrate de descargar el NDK y las herramientas.

Para adjuntar bibliotecas nativas depurables, sigue estos pasos:

  1. En el directorio cpp de la ventana Project, haz doble clic en un archivo de biblioteca nativa que no incluya símbolos de depuración. En el editor se muestra una tabla con todas las ABI compatibles con tu APK.
  2. Haz clic en Add en la esquina superior derecha de la ventana del editor.
  3. Dirígete al directorio en el que se incluyen las bibliotecas nativas depurables que desees adjuntar y haz clic en OK.
  4. Si el APK y las bibliotecas nativas depurables se compilaron usando una estación de trabajo diferente, deberás especificar rutas de acceso locales a los símbolos de depuración siguiendo estos pasos:
  5. Agrega rutas de acceso locales para los símbolos de depuración faltantes editando el campo debajo de la columna Local Paths en la sección Path Mappings de la ventana del editor, como se muestra en la figura 2. El IDE asigna automáticamente rutas de acceso a un NDK remoto para las rutas de acceso en tu descarga local del NDK.
  6. Haz clic en Apply.

    Figura 2: Provisión de rutas de acceso a símbolos de depuración locales.

Podrás ver los archivos de origen nativos en la ventana Project. Abre esos archivos nativos para agregar puntos de interrupción y depurar tu app como lo harías normalmente.

Problema conocido: Al adjuntar símbolos de depuración a un APK, este y los archivos .so depurables deben compilarse usando la misma estación de trabajo o el mismo servidor de compilación.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Seguir a Google Developers en WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience. (Dec 2017 Android Platform & Tools Survey)