![物联网移动应用开发](https://wfqqreader-1252317822.image.myqcloud.com/cover/36/36862036/b_36862036.jpg)
2.4 运行应用
![](https://epubservercos.yuewen.com/7AE700/19549638101507906/epubprivate/OEBPS/Images/31_03.jpg?sign=1739541752-McLlIaTzjQw2Bx8yUkHRXBoefoCxuBJs-0-5950c7e888184ac7948a621dee9f1b2a)
8 运行应用
运行应用有两个选择。可以选择在一个真正的物理设备上运行,如果没有Android手机或者平板电脑,可以选择在Android模拟器上运行。Android SDK中内置了Android模拟器,这个模拟器允许建立一个或者多个Android虚拟设备(Android Virtual Device,AVD)。在虚拟设备上运行应用与在真实的物理设备上运行一样,都可以测试应用。
在虚拟设备上运行应用的具体操作步骤如下。
1)在Android Studio中的模拟器上运行应用之前,首先要创建Android虚拟设备。在“Tools”(工具)菜单下,选择“AVD Manager”命令,进入AVD管理器,如图2-16所示。
![](https://epubservercos.yuewen.com/7AE700/19549638101507906/epubprivate/OEBPS/Images/32_01.jpg?sign=1739541752-98XKMDZPdtmZtD2RRExl4FSrRx0MDmWE-0-954d948d9f93ac4d9cc3be54ad9f1307)
图2-16 选择AVD管理器
2)要在Android Studio中创建一个AVD,需要完成几个步骤。首先单击“Create Virtual Device”按钮,如图2-17所示。
![](https://epubservercos.yuewen.com/7AE700/19549638101507906/epubprivate/OEBPS/Images/32_02.jpg?sign=1739541752-lVHtrIc3X2iKE8gYguiYJRNsXqFhb8vD-0-e2f7ca0738d9ca83f26583a8c81d3ce8)
图2-17 虚拟设备向导
3)这里需要选择一个将要模拟的硬件设备。可以选择不同的设备,包括TV、手机、可穿戴设备、平板电脑。选择“Nexus 5X”这个已经存在的设备,在右边可以看到这个设备的一些物理参数(屏幕尺寸、分辨率),如图2-18所示。
![](https://epubservercos.yuewen.com/7AE700/19549638101507906/epubprivate/OEBPS/Images/33_01.jpg?sign=1739541752-ZWMOrrO1gpncRNkHVtpcl9AUyxEo58iz-0-88361ead53aed121caba7c69de1be845)
图2-18 选择设备
4)如果在列表中没有满足需要的设备,可以单击左下角的“New Hardware Profile”按钮,自定义设备。单击“Next”按钮。
5)接下来,需要选择一个系统映像(system image)。系统映像提供了一个安装版本的Android操作系统,针对所构建的应用,要为它与兼容的API层次选择一个系统映像。如果希望应用在API 17以上运行,就要选择相应的系统映像(对应API 17以上)。这里选择API 28对象的系统映像,即“Pie 28 x86”,目标为Android 9.0,然后单击“Next”按钮。系统映像如果没有安装,Android Studio会自动下载,可能需要较长的时间,如图2-19所示。
![](https://epubservercos.yuewen.com/7AE700/19549638101507906/epubprivate/OEBPS/Images/33_02.jpg?sign=1739541752-2Pl7vZkrJ7y86FXx9RlsxQvkMgP4jpTh-0-73b34ee625520051c6fb5231eb864d43)
图2-19 选择系统映像
6)接着验证AVD配置,在这个界面中会总结显示前几步选择的选项,并且允许进行修改,如图2-20所示。
![](https://epubservercos.yuewen.com/7AE700/19549638101507906/epubprivate/OEBPS/Images/34_01.jpg?sign=1739541752-3zeZgmFN5JG9nqTDWiwbpApgyPtpI6R3-0-93ba29122a89110656184ecc9da0efef)
图2-20 验证AVD配置
7)单击“Finish”按钮,完成AVD的创建。这时候在打开的虚拟设备列表窗口中会出现创建完成的虚拟设备,如图2-21所示。
![](https://epubservercos.yuewen.com/7AE700/19549638101507906/epubprivate/OEBPS/Images/34_02.jpg?sign=1739541752-L85j6YwfW0ADYwYgJNKWj9X8rj5qb2kH-0-e7401bdaf35c3eae3639f572119d56b3)
图2-21 虚拟设备列表
8)接下来要让应用在创建的AVD上运行。在“Run”菜单下,选择“Run ‘app’”命令,如图2-22所示。
![](https://epubservercos.yuewen.com/7AE700/19549638101507906/epubprivate/OEBPS/Images/35_01.jpg?sign=1739541752-2nSM87yl9MAjL9ZZb6v7aQOpProm10Af-0-270678925c58af53c0b874ecae8a7891)
图2-22 选择运行应用
9)选择部署的设备,当前可用的设备就是前面创建的“Nexus 5X API 28”。单击“OK”按钮,启动虚拟设备运行应用。勾选“Use same selection for future launches”复选框,下次该界面会自动跳过,默认选择这次所选的设备,如图2-23所示。
![](https://epubservercos.yuewen.com/7AE700/19549638101507906/epubprivate/OEBPS/Images/35_02.jpg?sign=1739541752-tqhOietaCqzyJhMyrNiJyVJo8AiW3Cuv-0-d335bbfcc34a68529553651709abea33)
图2-23 选择运行设备
系统启动后,自动安装运行SmartFactory应用,如图2-24所示。
![](https://epubservercos.yuewen.com/7AE700/19549638101507906/epubprivate/OEBPS/Images/36_01.jpg?sign=1739541752-vDYmSWI8CU3fJnCVRcep0hl7mg0mchJ1-0-12e637b42f4d1ba6e4b2431c573fafea)
图2-24 应用运行界面
选择运行应用时并不是只运行SmartFactory这个应用,它还会运行应用所需的所有预备任务。下面说明应用编译、打包、部署和运行的过程,如图2-25所示。
![](https://epubservercos.yuewen.com/7AE700/19549638101507906/epubprivate/OEBPS/Images/36_02.jpg?sign=1739541752-IlFFRVqWIfGDi7KtoEkHC9NBXpG607ON-0-cc102ee2af948edf2983d89236ab7486)
图2-25 运行过程
①Java源文件编译为字节码。
②创建一个Android应用包或APK文件。APK文件包含编译的Java文件以及应用所需的库和资源。
③如果模拟器还未运行,会启动模拟器并加载。
④一旦启动模拟器并加载AVD,会将APK文件上传到AVD并安装。
⑤AVD启动应用关联的主活动。AVD屏幕上会显示应用,可以开始测试。
可以在控制台上查看应用运行的进度。启动AVD通常需要几分钟,可以使用Android Studio控制台查看应用运行的过程,控制台详细记录了Gradle构建系统的过程,如果发生错误,可以通过控制台查看具体情况,如图2-26所示。
![](https://epubservercos.yuewen.com/7AE700/19549638101507906/epubprivate/OEBPS/Images/37_01.jpg?sign=1739541752-PBxdmLYxI394hUYazemvHaD5J8EXOUdF-0-9d65b8962ef3305575cb8be08160467e)
图2-26 从控制台查看进度
从控制台可以看到过程如下。
①Android Studio启动模拟器,加载AVD,并安装应用。
②应用启动时,从MainActivity.java创建一个活动。
③这个活动指定它要使用布局activity_main.xml。
④活动告诉Android在屏幕上显示布局。另外会显示文字“Hello World!”。