当前位置:K88软件开发文章中心编程语言APP编程Android01 → 文章内容

第十二章 运行与调试

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-23 11:14:03

由 suxinglrzzw 创建, 最后一次修改 2016-02-24 第十二章 运行与调试在上一篇文章中,我们了解了如何将硬件与虚拟设备同Eclipse进行对接。而在今天的指南里,我们将探索如何通过Eclipse在物理设备及Android虚拟设备(简称AVD)上进行应用程序运行与调试。首先需要强调一点:我们在之前文章中创建出的应用程序暂时还没什么实际用处,但我们可以通过它来体验应用的运行流程,并以此为基础介绍一些非常重要的Eclipse ADT实用程序。随着大家开发水平的提高,未来的新应用必然会变得更先进也更复杂,到那时我们现在所介绍的调试工作将扮演极为重要的角色。在完成了今天的指南后,大家可能希望花点时间对自己创建的应用作出调整,而后尝试将其运行在物理或者虚拟设备上。掌握了这种方法,大家就可以在开发过程中定期将应用程序半成品运行在设备之上,从而实现边开发边调试的理想效果。1. 运行第一步当我们在虚拟或者物理设备上编译并运行自己的Android应用时,Eclipse会处理大部分必要的细节工作。Eclipse以及ADT会为我们的应用创建一个APK文件,同时将其安装在我们所使用的设备上。APK文件也就是用户们从Google Play商店中所下载的应用文件格式。不过大家还需要进行额外一些步骤来进行应用程序的发布,这些内容我们将在之后的教程中一一说明。总之,Eclipse会首先建立一个用于调试的APK文件,我们可以通过这套IDE将其直接运行在设备上。相信大家已经通过上一篇指南文章了解了如何利用相关技术启动自己的AVD或者将硬件设备与计算机相连。我们将让应用程序运行在接入的设备之上。无论是虚拟还是物理设备,都必须满足我们在应用程序清单当中所指定的最低API级别,否则将无法正常运行应用对象。第二步现在我们可以首先为自己的应用程序创建一套运行配置方案。在Eclipse当中,选择“运行”而后选择“运行配置”。在运行配置窗口左侧,大家将看到可以运行的应用程序类型清单。在其中选择“Android应用程序”然后点击上方的新建按钮。在打开的新配置项目当中,在名称栏内输入一个名称以替代现有文本。请大家选择一个清晰的名称,让自己能够明确区分不同应用程序。现在点击“浏览”按钮,在其中选择自己的应用程序项目,而后点击“OK”。点击“目标”选项卡。大家可以让Eclipse自动选择要启动应用程序的设备,也可以将其设置为每次运行应用程序时都提醒用户手动选择。这套选项只适用于同时有多种设备接入Eclipse的情况,例如一台硬件设备与一套AVD。请注意,我们的应用程序现在已经被列举在运行配置清单的Android应用程序当中。当一切准备就绪之后,大家可以从这里进行应用程序启动——相信在未来的实际工作中,各位的工作区内还将包含更多应用。点击“运行”。如果大家在配置中设定了每次运行前提示用户选择一种设备,那么Eclipse这时就将提供对应选项。选择当前要使用的物理或者虚拟设备。如果我们没有接入设备或者运行AVD,但又在设定中要求Eclipse自动选择设备,则系统会启动一套适用于当前情况的AVD。大家也可以通过Eclipse工具栏中的“运行”按钮来启动上一次应用程序所使用的运行环境,这就省去了每一次打开运行配置窗口的麻烦。提示:在应用程序运行配置的“目标”选项卡中,如果大家向下滚动则会看到多种模拟器选项,其中还包含命令行区域。大家可以点击此处查看使用AVD过程中可能需要的各种命令行参数。 第三步当我们运行自己的应用程序时,Eclipse会将APK复制到目标设备当中、进行安装并启动主Activity。大家应该还记得我们当初在按钮上建立的这套基本用户交互机制;点击按钮来改变显示文本内容(在AVD当中使用鼠标模拟点击操作,在实机上则使用手指进行触控)。第四步在大家开发自己的应用程序时,很可能需要重复将当前成果加以进行、编辑内容然后再次运行。在这种情况下,Log将成为我们使用频率最高的主要工具之一。在Java文件当中,我们可以编写输出至LogCat的相关信息来帮助自己更顺畅地完成开发与调试工作。在我们的主Activity类中,将以下实例变量添加到原有类内容之前:private final String LOG_TAG = "MainActivity";这是一条标记常量,我们通常利用它来编写日志输出信息;通过类名称,我们可以更明确地看到当前日志信息来自哪个类。在onClick方法中,将以下代码添加到按钮文本设定部分之前:Log.v(LOG_TAG, "button clicked");大家需要将“android.util.Log”导入到自己的类当中。在向Log中写入内容时,我们可以从多种方法中作出选择,从而表达与目的相符的对应信息。在上述代码中,我们用v来指代详细(verbose)。大家还可以用d来指代调试信息(debug message)、i指代信息(information)、w指代警告(warning)并用e指代错误(error)。现在保存我们的文件并通过“运行”按钮再次运行应用程序。请大家确保自己已经在Eclipse当中打开了LogCat View。再次点击设备或者AVD上的UI按钮。现在向下滚动LogCat View直至我们找到对应的运行信息。正如大家所见,以上彩色信息反映每种情况下Log方法的实际运行情况。我们可以通过在文本框中输入内容的形式搜索信息,这一点在显示信息量较大的时候非常有用——例如使用硬件设备运行应用程序时。提示:如果大家发现自己在使用LogCat View时Eclipse停止响应或者崩溃,则需要在“窗口”——>“偏好设置”——>“Android”——>“LogCat”中设置LogCat信息的最大缓冲数量。如果这样的调整仍然无法解决问题,请进一步降低缓冲数量并再试一次。 2. 测试我们在今天的文章当中不会讨论太多测试方面的细节,因为这是一项非常重要也相当重复的工作、将成为大家未来Android学习过程当中的主要课题之一。在准备好进行测试之后,大家可以在Eclipse当中创建一个测试专用项目。Android开发者指南当中专门提供了“测试基本原理”与“Activity测试指南”两个章节,从深层次讲解了Android平台上的测试知识。测试工具全部以JUnit为基础,作为汇聚专有Android测试资源并加以扩展的解决方案,JUnit专为Android开发工作而生。如果大家已经熟悉了对Java代码的测试工作,那么应该会更清楚自己需要在Android应用测试当中做些什么。3. 调试第一步尽管大家并不需要马上对应用程序进行调试,不过我还是要通过今

[1] [2]  下一页


第十二章 运行与调试