Debugging with Android Studio

在本文档中

  1. 运行你的应用程序在调试模式
  2. 使用系统日志
    1. 写在代码中的日志消息
    2. 查看系统日志
  3. 与断点工作
    1. 查看和配置断点
    2. 使用断点调试你的应用程序
  4. 分析运行指标来优化你的应用程序
  5. 捕获屏幕截图和视频

另请参阅

  • Android的工作室技巧和窍门
  • 调试
  • 设备监控
  • 使用DDMS

Android的Studio使您能够在模拟器或Android设备上运行调试应用程序。随着Android Studio,您可以:

  • 选择一个设备上调试你的应用程序。
  • 查看系统日志。
  • 在代码中设置断点。
  • 检查变量并在运行时计算表达式。
  • 从Android SDK中运行的调试工具。
  • 捕捉你的应用程序的截图和视频。

要调试你的应用程序,Android Studio生成你的应用程序的可调试版本,连接到设备或模拟器,安装应用程序并运行它。IDE将显示系统日志,而你的应用程序正在运行,并提供调试工具来过滤日志消息,断点工作,并控制执行流程。

运行你的应用程序在调试模式

图1:在选择设备的窗口,您可以选择一个物理的Android设备或虚拟设备来调试你的应用程序。

要以调试模式运行你的应用,你建立一个APK与调试密钥签名和物理Android设备或Android模拟器安装它。要建立一个Android设备的开发,请参阅使用硬件设备。有关通过Android SDK中提供的仿真器的更多信息,请参阅使用仿真器。

调试在Android的工作室你的应用程序:

  1. 在Android的Studio中打开您的项目。
  2. 点击Debug工具栏上。
  3. Choose Device的窗口,从列表中选择一个硬件设备或选择一个虚拟设备。
  4. 单击OK(确定)。您的应用程序启动所选择的设备上。

图1显示了选择设备的窗口。该列表显示所有连接到您的计算机的Android设备。选择Launch Emulator启动模拟器使用一个Android虚拟设备代替。单击省略号打开Android Virtual Device Manager.

Android的Studio将打开调试工具窗口,当你调试你的应用程序。要打开Debugger手动窗口中,单击Debug。该窗口显示了线程和变量Debugger选项卡,在设备状态Console控制台选项卡,然后在系统日志中的logcat的标签。该调试工具窗口还提供覆盖在下面的章节等调试工具。

图2。调试工具窗口在Android的工作室表示一个变量的当前线程和对象树。

使用系统日志

系统日志显示系统信息,同时您调试应用程序。这些消息包括从设备上运行的应用程序的信息。如果您要使用系统日志来调试你的应用程序,请确保您的代码写入日志消息,并打印为异常的堆栈跟踪,而你的应用程序是在开发阶段。

写在代码中的日志消息

写日志在您的代码信息,使用日志类。日志消息帮助您了解执行流程通过收集系统调试输出,而你与你的应用程序进行交互。日志消息可以告诉你你的应用程序的一部分失败。有关日志记录的详细信息,请参阅阅读和写作日志。

下面的例子显示了如何添加日志信息,以确定是否以前的状态信息,请您活动开始时:

import android.util.Log;...public class MyActivity extends Activity {  private static final String TAG = MyActivity.class.getSimpleName();  ...  @Override  public void onCreate(Bundle savedInstanceState) {    if (savedInstanceState != null) {      Log.d(TAG, "onCreate() Restoring previous state");      /* restore state */    } else {      Log.d(TAG, "onCreate() No saved state available");      /* initialize app */    }  }}

在开发过程中,你的代码也可以捕获异常,并写入堆栈跟踪到系统日志:

void someOtherMethod() {  try {    ...  } catch (SomeException e) {    Log.d(TAG, "someOtherMethod()", e);  }}

注:从代码中移除调试日志消息和堆栈跟踪打印通话,当你准备发布您的应用程序。你可以通过设置一个做到这一点的DEBUG标志,并把调试日志消息里的条件语句。

查看系统日志

无论是Android的DDMS(Dalvik的调试监控服务器)和调试工具窗口显示系统日志;然而,Android的DDMS工具窗口,您可以查看特定过程只日志消息。要查看在系统日志中的Android DDMS工具窗口:

  1. 启动您的应用程序中的说明运行你的应用程序在调试模式下。
  2. 点击Android来打开的Android DDMS工具窗口。
  3. 如果系统日志是空的logcat的视图,单击Restart

图4:系统日志在Android DDMS工具窗口。

Android的DDMS工具窗口为您提供了从Android Studio中访问某些DDMS的功能。关于DDMS更多信息,请参阅使用DDMS。

系统日志显示来自Android的服务和其他Android应用程序的消息。要过滤日志消息只查看那些你感兴趣的,使用的工具中的Android DDMS窗口:

  • 要只显示日志消息对于特定的过程,选择过程中的设备视图,然后单击Only Show Logcat from Selected Process仅显示logcat的从选择过程。如果设备视图不可用,请单击Restore Devices View还原设备查看在右侧的Android DDMS工具窗口。当你隐藏此按钮才会显示Devices窗口。
  • 通过日志级别过滤日志信息,选择下一个级别日志级别的顶部的Android DDMS窗口。
  • 要显示只记录包含特定字符串的邮件,输入字符串中的搜索框中,然后按Enter键

与断点工作

断点允许你暂停您的应用程序的执行在一个特定的代码行,检查变量,计算表达式,并通过行继续执行路线。使用断点来确定运行时错误的原因,你不能看只有你的代码修正。要使用断点调试你的应用程序:

  1. 打开要在其中设置断点的源文件。
  2. 找到您想要设置一个断点,然后按一下就可以了线。
  3. 点击侧栏以这条线的左侧的黄色部分,如示于图5。
  4. 启动您的应用程序中的说明Run your App in Debug Mode。

Android的工作室暂停您的应用程序的执行,当它到达断点。然后,您可以使用该工具调试工具窗口来找出错误的原因。

图5:当你设置一个断点出现一个红点旁边的线。

查看和配置断点

要查看所有的断点和配置断点设置,请单击View Breakpoints视图中的断点在左侧调试工具窗口。该断点窗口出现,如图6。

图6。断点窗口列出了所有当前断点并包括每个行为设置。

断点窗口,您可以从左边的列表中启用或禁用每个断点。如果一个断点被禁用,机器人工作室不会暂停您的应用程序,当它击中断点。从列表中选择一个断点配置设定。您可以配置一个断点在第一次被禁用,让系统启用后,不同的断点被击中。您也可以设定一个断点是否应该被禁止被击中后。要设置断点的任何异常,请选择Exception Breakpoints异常断点在断点列表中。

使用断点调试你的应用程序

当你在你的代码中设置断点,单击Rerun重新运行重新启动应用程序。当一个断点被击中,机器人工作室暂停应用程序,并突出了断点在源代码中。该调试工具窗口可以让你检查变量和控制通过一步一步地执行:

  • 要检查一个变量的对象树中,展开它的变量视图。如果变量视图不可见,请单击Restore Variables View恢复Variables视图

  • 要计算一个表达式在当前执行点,点击Evaluate Expression计算表达式

  • 要前进到下一行代码(不输入法),单击Step Over单步跳过

  • 推进到一个方法调用中的第一行,单击Step Into单步执行

  • 要前进到目前的方法之外的下一行,单击Step Out跳出

  • 继续正常运行的应用程序,请单击Resume Program恢复计划

图7。Variables视图中的调试工具窗口。

分析运行指标来优化你的应用程序

即使您的应用程序不会产生运行时错误,这并不意味着它是没有问题的。您还应该考虑以下问题:

  • 请问您的应用程序有效地使用内存?
  • 请问您的应用程序产生不必要的网络流量?
  • 你应该关注什么方法对你的注意力,以提高您的应用程序的性能?
  • 请问您的应用程序正确地运行,当用户收到一个电话或消息?

而Android设备监视器是一个独立的工具与serveral的Andr​​oid应用程序的调试和分析工具,包括在Dalvik调试监视器服务器(DDMS)的图形用户界面。您可以使用Android设备监视器来分析内存使用情况,配置方法,监控网络流量和模拟来电和信息。

为了从Android Studio中打开了Android设备监视器,单击Monitor监视工具栏上。在新窗口中的Android设备监视器打开。

有关Android的设备监视器和DDMS的更多信息,请参阅Device Monitor设备监视器和使用DDMS。

捕获屏幕截图和视频

Android的Studio使您在您的应用程序正在运行捕捉屏幕截图或设备屏幕的一个简短的视频。截图和视频是为你的应用程序的宣传材料有用,你也可以将它们附加到发送到您的开发团队的bug报告。

把你的应用程序的截图:

  1. 启动您的应用程序中的说明Run your App in Debug Mode运行你的应用程序在调试模式下。
  2. 点击Android来打开的Android DDMS工具窗口。
  3. 点击Screen Capture屏幕捕捉在左侧的Android DDMS工具窗口。
  4. 可选:要添加在你的屏幕截图的设备框架,使Frame screenshot框架的截图选项。
  5. 单击保存

把你的应用程序的视频录制:

  1. 启动您的应用程序中的说明Run your App in Debug Mode运行你的应用程序在调试模式下。
  2. 点击Android来打开的Android DDMS工具窗口。
  3. 点击Screen Record屏幕记录在左侧的Android DDMS工具窗口。
  4. 单击Start Recording开始录制
  5. 互动与您的应用程序。
  6. 单击Stop Recording停止录制
  7. 为记录输入一个文件名 ​​,然后单击OK(确定)

更多相关文章

  1. Android应用程序注册广播接收器(registerReceiver)的过程分析
  2. Android快速入门(一):Android介绍
  3. Android程序结构
  4. adb网络调试
  5. android简介
  6. 在你的android设备运行java web应用程序
  7. 【Android系列】—Android世界全景观
  8. Android(安卓)设备管理API概览(Device Administration API)
  9. 为什么说 Android(安卓)很了不起!

随机推荐

  1. 空间双重差分法(spatial DID)最新实证pap
  2. 忽略交互效应后果很严重,审稿人很生气!
  3. 妇女能顶半边天, 关于“中国女性”最新研
  4. grid实现12列栅格布局的组件并且实例圣杯
  5. unity常用方法库 持续跟新
  6. 【无偿分享】史上最全Python学习大礼包
  7. 适合财务人员的财务报表分析软件有哪些?
  8. Gateway网关过滤之后获取不到 HttpServle
  9. 干货丨DolphinDB通用计算教程
  10. JavaScript面向对象编程理解