分析和调试预构建 APK

    要开始调试 APK,请在 Android Studio Welcome 欢迎屏幕中点击 Profile or debug APK。 或者,如果您已经打开一个项目,请在菜单栏中点击 File > Profile or debug APK。 在下一个对话框窗口中,选择您想要导入 Android Studio 的 APK,然后点击 OK。 您应当看到类似于图 1 的画面。

    图 1. 将预构建 APK 导入 Android Studio。

    Project 窗格中的 Android 视图允许您检查 APK 的以下内容:

    • APK file:双击 APK 可以打开 APK 分析器。
    • manifests:从 APK 中提取的应用 manifest。
    • cpp:如果您的应用包括原生代码,此目录将包含您的 APK 的原生库(.so 文件)。
    • External Libraries:包含 Android SDK。
      您可以立即 开始测试您的应用的性能 - 不过,分析器当前仅适用于您的应用的 Java 进程。 要使用断点调试您的应用的 Java 和原生代码,您需要先附加 Java 源代码和。

    默认情况下,Android Studio 会从您的 APK 中提取 Java 代码,并将它们保存为 文件。 要使用断点调试 Java 代码,您需要将 Java 源代码附加到您想要调试的每一个 .smali 文件。

    要附加 Java 源代码,请执行以下操作:

    • Project 窗格中双击 .smali 文件(使用 Android 视图)。打开文件后,编辑器将显示一个黄色的警告横幅(如图 1 中所示),要求您选择 Java 源代码。
    • 点击编辑器窗口顶部的 Attach Java Sources

    附加原生调试符号

    要附加可调试的原生库,请执行以下操作:

    • Project 窗口的 cpp 目录下,双击不包含调试符号的原生库文件。编辑器将显示一个包含您的 APK 支持的所有 ABI 的表格。
    • 点击编辑器窗口右上角的 Add
    • 导航到包含您想要附加的可调试原生库的目录,然后点击 OK
    • 如果 APK 和可调试原生库使用不同的工作站构建,您需要按照以下步骤操作,指定调试符号的本地路径:
      • 点击 ApplyProfile and debug pre-built APKs - 图1
        图 2. 提供本地调试符号的路径。

    现在,您应当在 Project 窗口中看到原生源文件。 打开这些文件以添加断点并像往常一样调试您的应用

    已知问题: 将调试符号附加到 APK 时,APK 和可调试的 文件必须使用相同的工作站或构建服务器构建。