构建和运行Android应用程序
Android应用程序的构建和运行
当你创建完第一个 Android 应用程序后,就可以编译它并将它部署到 Android 模拟器或物理设备上。
在构建项目并开始测试应用程序之前,建议您查看当前的构建配置。
查看默认的运行/调试配置
点击“运行|编辑配置(Run | Edit Configurations)”,将显示以下对话框:
IntelliJ IDEA 会自动创建一个与您的项目名称相同的默认运行/调试配置。有关 Android 运行/调试配置中每个配置选项的详细说明,请参阅“运行/调试配置:Android应用程序”。
Android添加新的运行/调试配置
我们来创建一个自定义的构建配置:
- 在“运行/调试配置(Run/Debug Configurations)”对话框中,单击添加按钮
并从列表中选择“Android应用程序(Android Application)”:
- 一个新项目将被添加到左窗格中具有默认名称 Unnamed 的树中。选择它并在名称字段中输入更有意义的名称,例如 HelloDroid Emulator:
请注意,新创建的配置以红色叉号显示,表示尚未准备好使用,因为未指定任何模块。 - 接下来,您需要指定可执行模块。展开模块下拉列表并选择HelloDroid:它是您的项目中唯一的可执行模块。
当你选择一个模块时,图标上的红十字会消失,因为现在你的运行/调试配置被填入了最低要求的信息。 - 接下来,确保在安装选项下选择了“默认 APK(Default APK)”选项。选择此选项后,应用程序将自动部署在目标设备上。
- 接下来,您需要确定要启动哪个活动作为模块的入门活动。您可以启动在该 AndroidManifest 文件中配置的默认活动,或者选择一个自定义活动。由于您的示例应用程序只有一个活动,请选择“默认活动(Default Activity)”选项。
- 最后,您需要指定将启动应用程序的目标设备。让我们选择“模拟器(Emulator)”选项。如果已配置 Android 虚拟设备,则可以从“首选Android虚拟设备(Prefer Android Virtual Device)”下拉列表中选择一个设备。如果您没有配置设备,请执行以下步骤:
- 从主菜单中选择:工具| Android | AVD Manager(Tools | Android | AVD Manager)来启动“Android 虚拟设备管理器(Android Virtual
Device Manager)”:
- 点击“创建一个虚拟设备(Create a virtual device)”。在打开的对话框中,在左侧窗格中选择您要模拟的 Android 设备的类型:电视、手机、穿戴或平板电脑。我们选择手机。在中央窗格中选择手机型号(例如,Nexus 5X),然后单击下一步:
- 在下一步中,选择要在虚拟设备上模拟的系统映像,即操作系统版本,Android API 级别,应用程序二进制界面(ABI)和目标SDK版本:
- 在最后一步中,您可以修改AVD名称并选择虚拟设备屏幕的启动大小和方向:
- 单击完成以完成向导。新创建的Android虚拟设备将被添加到设备列表中:
- 返回到“运行/调试配置(Run/Debug Configurations)”对话框。
- 从主菜单中选择:工具| Android | AVD Manager(Tools | Android | AVD Manager)来启动“Android 虚拟设备管理器(Android Virtual
Device Manager)”:
- 请注意,Android 虚拟设备(AVD)只是一个配置文件,通过该文件可以为模拟器定义模拟器的硬件和软件选项。除AVD设置外,还可以配置补充参数,例如要模拟的网络传输速率,网络延迟(初始输入和输出之间的时间延迟)等。要访问这些设置,请在 AVD Manager 中选择从列表中选择模拟器,然后单击右侧的“编辑此AVD(Edit this AVD)” 图标
。在“虚拟设备配置(Virtual Device Configuration)”对话框中,单击“显示高级设置(Show Advanced Settings)”按钮:
然后这些参数作为命令行参数传递给仿真器。 - 在“运行/调试配置(Run/Debug Configurations)”对话框中,单击“确定(OK)”以保存新创建的配置。
- 请注意,如果您在配置 Android 虚拟设备时选择了 x86 应用程序二进制界面,则在运行和测试该应用程序之前,您还需要安装英特尔x86模拟器加速器,否则当您尝试构建应用程序时,IntelliJ IDEA 会引发错误项目。为此,你需要:
- 启动SDK管理器:在主菜单中,选择:工具| Android | SDK管理器(Tools | Android | SDK Manager)。
- 向下滚动到名为 Extras 的文件夹。
- 在此文件夹中找到 Intel x86 Emulator Accelerator(HAXM 安装程序),选择相应的复选框,然后单击 Install packages 按钮。
- 在打开的对话框中,接受许可协议,然后单击“安装(Install)”。
- 导航到 Android SDK 安装目录(SDK 路径显示在 Android SDK 管理器窗口的顶部 )。在 \extras\intel\Hardware_Accelerated_Execution_Manager 文件夹中,找到该 intelhaxm-android.exe 文件并双击以启动它。
- 按照英特尔硬件加速执行管理器安装向导的说明完成安装。
在模拟器上测试Android应用程序
要生成项目,可以按 Shift+F10 或单击编辑器的右上角的导航栏上的“运行”图标 :
该项目将根据当前在下拉列表中选择的运行/调试配置进行构建。如果没有错误发生,IntelliJ IDEA 会将二进制文件和资源打包到 APK 文件中,并将其上传到Android 模拟器:
如果 Android 模拟器尚未启动并运行,IntelliJ IDEA 将在上传应用程序之前对其进行初始化。模拟器接收并安装包并通过调用指定的启动活动来启动它:
在物理设备上测试Android应用程序
要在真实的 Android 设备上测试您的应用程序,您需要:
- 添加运行/调试配置,并确保您在目标设备下选择 USB 设备。
- 确保 Android 设备通过 USB 电缆连接到计算机。
- 按下 Shift+F10 或点击编辑器右上角的导航栏中的运行图标 。
如果您的应用程序安装失败,这很可能意味着该设备未配置为在 Android 应用程序商店之外安装应用程序。在您的设备上启用此功能以测试应用程序。
在 Android 4.2 或更高版本上,请执行以下操作:
- 打开设备的设置(Settings)。
- 滚动到关于手机或关于平板电脑,然后点击它。
- 滚动到底部并点击 Build number 7次,直到您看到“您是开发人员!” 信息。通过这样做,您可以在设备上解锁 USB 调试模式。
- 现在导航到设置| 开发人员选项| 调试| USB调试(Settings | Developer Options | Debugging | USB Debugging),让您的手机部署非打包应用程序。
调试Android应用程序
IntelliJ IDEA允许您使用相应的运行/调试配置在模拟器或物理设备上以调试模式启动Android应用程序。
要调试您的应用程序,您需要在源代码中设置断点:将插入符号放在可执行的行上,然后单击左侧的沟槽区域。在想要切换断点的行旁边会出现一个红色圆圈,并且该行会标记为粉红色:
要启动调试会话,请按 Shift+F9 或单击编辑器的右上角的导航栏中的“调试”图标 。调试工具窗口将被激活,在那里你可以单步执行程序,检查变量,视图,框架和线程,并分析系统中的信息和错误信息控制台选项卡。
分析调试输出
在 IntelliJ IDEA 中,通过支持存储系统调试输出日志的 logcat 功能来提供 Android 应用程序的调试。日志消息包含模拟器抛出错误时的堆栈跟踪,因此您可以导航到源代码中的异常位置。
在 IntelliJ IDEA 中,可通过 Android 监视器工具窗口的 Logcat 选项卡提供 logcat 功能(有关详细信息,请参阅使用Logcat调试Android应用程序):
您还可以在运行/调试配置的其他选项卡中配置其他logcat选项: