codecamp

构建和运行Android应用程序

Android应用程序的构建和运行

当你创建完第一个 Android 应用程序后,就可以编译它并将它部署到 Android 模拟器或物理设备上。

在构建项目并开始测试应用程序之前,建议您查看当前的构建配置。

查看默认的运行/调试配置

点击“运行|编辑配置(Run | Edit Configurations)”,将显示以下对话框:

Android应用程序

IntelliJ IDEA 会自动创建一个与您的项目名称相同的默认运行/调试配置。有关 Android 运行/调试配置中每个配置选项的详细说明,请参阅“运行/调试配置:Android应用程序”。

Android添加新的运行/调试配置

我们来创建一个自定义的构建配置:

  1. 在“运行/调试配置(Run/Debug Configurations)”对话框中,单击添加按钮 并从列表中选择“Android应用程序(Android Application)”:
    Android应用程序
  2. 一个新项目将被添加到左窗格中具有默认名称 Unnamed 的树中。选择它并在名称字段中输入更有意义的名称,例如 HelloDroid Emulator:
    Android应用程序
    请注意,新创建的配置以红色叉号显示,表示尚未准备好使用,因为未指定任何模块。
  3. 接下来,您需要指定可执行模块。展开模块下拉列表并选择HelloDroid:它是您的项目中唯一的可执行模块。
    Android应用程序
    当你选择一个模块时,图标上的红十字会消失,因为现在你的运行/调试配置被填入了最低要求的信息。
  4. 接下来,确保在安装选项下选择了“默认 APK(Default APK)”选项。选择此选项后,应用程序将自动部署在目标设备上。
  5. 接下来,您需要确定要启动哪个活动作为模块的入门活动。您可以启动在该 AndroidManifest 文件中配置的默认活动,或者选择一个自定义活动。由于您的示例应用程序只有一个活动,请选择“默认活动(Default Activity)”选项。
  6. 最后,您需要指定将启动应用程序的目标设备。让我们选择“模拟器(Emulator)”选项。如果已配置 Android 虚拟设备,则可以从“首选Android虚拟设备(Prefer Android Virtual Device)”下拉列表中选择一个设备。如果您没有配置设备,请执行以下步骤:
    1. 从主菜单中选择:工具| Android | AVD Manager(Tools | Android | AVD Manager)来启动“Android 虚拟设备管理器(Android Virtual Device Manager)”:
      Android应用程序
    2. 点击“创建一个虚拟设备(Create a virtual device)”。在打开的对话框中,在左侧窗格中选择您要模拟的 Android 设备的类型:电视、手机、穿戴或平板电脑。我们选择手机。在中央窗格中选择手机型号(例如,Nexus 5X),然后单击下一步:
      Android应用程序
    3. 在下一步中,选择要在虚拟设备上模拟的系统映像,即操作系统版本,Android API 级别,应用程序二进制界面(ABI)和目标SDK版本:
      Android应用程序
    4. 在最后一步中,您可以修改AVD名称并选择虚拟设备屏幕的启动大小和方向:
      Android应用程序
    5. 单击完成以完成向导。新创建的Android虚拟设备将被添加到设备列表中:
      Android应用程序
    6. 返回到“运行/调试配置(Run/Debug Configurations)”对话框。
  7. 请注意,Android 虚拟设备(AVD)只是一个配置文件,通过该文件可以为模拟器定义模拟器的硬件和软件选项。除AVD设置外,还可以配置补充参数,例如要模拟的网络传输速率,网络延迟(初始输入和输出之间的时间延迟)等。要访问这些设置,请在 AVD Manager 中选择从列表中选择模拟器,然后单击右侧的“编辑此AVD(Edit this AVD)” 图标 。在“虚拟设备配置(Virtual Device Configuration)”对话框中,单击“显示高级设置(Show Advanced Settings)”按钮:
    Android应用程序
    然后这些参数作为命令行参数传递给仿真器。
  8. 在“运行/调试配置(Run/Debug Configurations)”对话框中,单击“确定(OK)”以保存新创建的配置。
  9. 请注意,如果您在配置 Android 虚拟设备时选择了 x86 应用程序二进制界面,则在运行和测试该应用程序之前,您还需要安装英特尔x86模拟器加速器,否则当您尝试构建应用程序时,IntelliJ IDEA 会引发错误项目。为此,你需要:
    1. 启动SDK管理器:在主菜单中,选择:工具| Android | SDK管理器(Tools | Android | SDK Manager)。
    2. 向下滚动到名为 Extras 的文件夹。
    3. 在此文件夹中找到 Intel x86 Emulator Accelerator(HAXM 安装程序),选择相应的复选框,然后单击 Install packages 按钮。
    4. 在打开的对话框中,接受许可协议,然后单击“安装(Install)”。
    5. 导航到 Android SDK 安装目录(SDK 路径显示在 Android SDK 管理器窗口的顶部 )。在 \extras\intel\Hardware_Accelerated_Execution_Manager 文件夹中,找到该 intelhaxm-android.exe 文件并双击以启动它。
    6. 按照英特尔硬件加速执行管理器安装向导的说明完成安装。

在模拟器上测试Android应用程序

要生成项目,可以按 Shift+F10 或单击编辑器的右上角的导航栏上的“运行”图标

Android应用程序

该项目将根据当前在下拉列表中选择的运行/调试配置进行构建。如果没有错误发生,IntelliJ IDEA 会将二进制文件和资源打包到 APK 文件中,并将其上传到Android 模拟器:

Android应用程序

如果 Android 模拟器尚未启动并运行,IntelliJ IDEA 将在上传应用程序之前对其进行初始化。模拟器接收并安装包并通过调用指定的启动活动来启动它:

Android应用程序

在物理设备上测试Android应用程序

要在真实的 Android 设备上测试您的应用程序,您需要:

  1. 添加运行/调试配置,并确保您在目标设备下选择 USB 设备。
  2. 确保 Android 设备通过 USB 电缆连接到计算机。
  3. 按下 Shift+F10 或点击编辑器右上角的导航栏中的运行图标

如果您的应用程序安装失败,这很可能意味着该设备未配置为在 Android 应用程序商店之外安装应用程序。在您的设备上启用此功能以测试应用程序。

在 Android 4.2 或更高版本上,请执行以下操作:

  • 打开设备的设置(Settings)。
  • 滚动到关于手机或关于平板电脑,然后点击它。
  • 滚动到底部并点击 Build number 7次,直到您看到“您是开发人员!” 信息。通过这样做,您可以在设备上解锁 USB 调试模式。
  • 现在导航到设置| 开发人员选项| 调试| USB调试(Settings | Developer Options | Debugging | USB Debugging),让您的手机部署非打包应用程序。

调试Android应用程序

IntelliJ IDEA允许您使用相应的运行/调试配置在模拟器或物理设备上以调试模式启动Android应用程序。

要调试您的应用程序,您需要在源代码中设置断点:将插入符号放在可执行的行上,然后单击左侧的沟槽区域。在想要切换断点的行旁边会出现一个红色圆圈,并且该行会标记为粉红色:

调试Android应用程序

要启动调试会话,请按 Shift+F9 或单击编辑器的右上角的导航栏中的“调试”图标 。调试工具窗口将被激活,在那里你可以单步执行程序,检查变量,视图,框架和线程,并分析系统中的信息和错误信息控制台选项卡。

分析调试输出

在 IntelliJ IDEA 中,通过支持存储系统调试输出日志的 logcat 功能来提供 Android 应用程序的调试。日志消息包含模拟器抛出错误时的堆栈跟踪,因此您可以导航到源代码中的异常位置。

在 IntelliJ IDEA 中,可通过 Android 监视器工具窗口的 Logcat 选项卡提供 logcat 功能(有关详细信息,请参阅使用Logcat调试Android应用程序):

Android应用程序

您还可以在运行/调试配置的其他选项卡中配置其他logcat选项:

Android应用程序

Android项目结构
使用Designer编辑UI布局
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

IntelliJ IDEA的一般准则

什么是IntelliJ IDEA项目

使用IntelliJ IDEA的意图行为

IntelliJ IDEA使用运行/调试配置

特定于VCS的程序

IntelliJ IDEA语言和特定框架指南

IntelliJ IDEA的数据库和SQL功能

IntelliJ IDEA使用之JavaServer Faces(JSF)

IntelliJ IDEA:分析PHP应用程序的性能

IntelliJ IDEA:调试PHP应用程序

IntelliJ IDEA:适用于PHP的Google App Engine

IntelliJ IDEA更多内容

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }