2.2 运行App
当前这个工程已经具备了一个页面,而且是可以运行的。实际上要运行一个App很简单,点菜单栏下面工具栏上的绿色三角箭头即可,如图2.2.1所示。
图2.2.1
点了之后,出现如图2.2.2所示窗口。
图2.2.2
这个窗口让我们选择一个Android设备来运行我们的App。App必须运行在Android设备上,如果你指定了一个设备,Android Studio就会把我们的App安装到这台设备上并自动开启这个App。但是现在我的这个窗口中显示“<none>(没有)”,也就是没有设备,你的也应该一样。
现在看来运行一个App还不是那么简单。但是不要怕,也不是什么大问题,我们只要有一台Android设备就行了。
设备分为真实设备和虚拟设备。这两种都可以运行App。真实设备就是你的Android手机或平板,虚拟设备是电脑中用软件模拟出来的Android虚拟机。如果你手上有Android手机或平板,可以把它连接到电脑上,让Android Studio找到它,下面讲一下如何把真实的设备连接到Android Studio中。
2.2.1 在真实设备上调试
要想让Android Studio找到真实的设备,需要做两步(这两步不分先后啊):
• 第一步:在设备上开启调试(DEBUG)模式。
• 第二步:用USB线把电脑与设备连接起来。
第二步很简单,就不多讲了,但是要注意,把你的设备连接到的是运行Android Studio的电脑,而不是不相干的电脑(好像有点废话的样子)。
重点讲第一步。不同版本的Android系统,其打开调试的方式有点不一样,我们讲一下比较新的版本的方式,旧版本的方式自己也可以从网上搜索到。其实我也是在网上搜到的,所以我先打开某个搜索引擎(微软必应)的主页,如图2.2.1.1所示。
图2.2.1.1
以三星手机为例,我们输入“三星手机打开调试”,点右边的搜索图标或按回车键(当然你也可以输入“安卓手机打开调试”之类的语句),搜索结果中的任何一个几乎都对我们有帮助,比如我找了一个在三星S4上开启调试的教程,结果在我的三星A8上也适用。
根据教程说明,打开调试的过程是这样的:打开设置(也可叫作“设定”)→点“关于设备”→点“版本号”或“内部版本号”。当第一次点的话,就会提示你“点N次开启调试”之类的话,跟着做就行了。如果已经启用调试模式了,会提示你已经开启,此时就不必再次开启了。
当开启开发模式之后,再回到手机的设置主页面,就能看到多了一条“开发者选项”,点它进入开发者选项页面,点最上面的“开”,就打开了调试模式。但是可以看到下面还有好多设置项,不用理它们,只需在其中找到“USB调试”这一条,开启它即可。
当你把手机连到电脑上之后,再点“运行”,是否看到了类似这样的界面?如图2.2.1.2所示。
图2.2.1.2
可以看到真实的设备被找到了,选中它,点“OK”,就可以在这部设备上运行App了(可能编译和安装App的过程要花一点时间,请耐心等待)。
提示
一般原装的USB数据线都可以让电脑识别出设备,但是如果用的是后期买的便宜的数据线,充电可能没问题,用来调试可能就不行了。
2.2.2 配置虚拟机
上一节教会了你在真机上开启调试,但如果你手中没有Android真机怎么办?如果你真机的系统版本太低怎么办?(还记得建立项目时,需要我们选择最低能安装到的系统版本吗?)再或者说,我们想在不同Android版本的系统中测试我们的App怎么办?不用害怕,我们有Android虚拟机!我们现在就通过Android Studio提供的工具来创建虚拟机。
(1)点主菜单中的“Tools(工具)”,如图2.2.2.1所示。
图2.2.2.1
(2)在出现的菜单中点“Android”,然后在出现的子菜单中点“AVD Manager”,如图2.2.2.2所示。
图2.2.2.2
(3)现在会出现如图2.2.2.3所示窗口,点按钮“Create Virtual Device(创建虚拟设备)”即开始创建。
图2.2.2.3
其实也可以在点“运行”后,在设备选择对话框中点“Create New Virtual Device(创建新虚拟设备)”,如图2.2.2.4所示。
图2.2.2.4
不论哪种方式,都会出现如图2.2.2.5所示窗口。
图2.2.2.5
(4)这个窗口让我们选择一个种设备去创建虚拟机。
最左边区域是类别,TV表示电视设备,Wear表示穿戴设备,Phone表示手机,Tablet表示平板。中间区是具体设备属性,Name表示设备的名字,Size表示设备的屏幕尺寸,Resolution表示设备的分辩率,Density表示设备像素的密度。最右边区域是预览信息。
你可以选一个设备,然后点“Next”按钮,出现如图2.2.2.6所示窗口。
图2.2.2.6
(5)这个窗口让我们选择一个System Image(系统镜像)。
系统镜像就是一种模拟操作系统安装光盘的文件,就像我们Ghost Windows时用到的“.iso”文件。
左边区域的上面有三个Tab页,让我们选择不同的镜像。第一个Recommended是推荐的镜像,第二个是x86 Images是x86镜像,第三个是其他类型的镜像。注意,如果你不连网的话,表格中是不会出现镜像信息的。
表格中一行是一个镜像文件。第一列是镜像所对应的Android系统的名字(Android每个大版本都用一种甜品的名字作代号)。第二列是所支持的SDK的版本,第三列是所兼容的CPU架构,第四列是操作系统的版本号以及所包含的附加功能。黑色的行表示是已下载到本地的镜像文件,而灰色的行是未下载到本地的镜像文件。可以看到在灰色的行上的“名字”列中,名字的旁边是“Download(下载)”,点它就可以下载这个镜像文件。不需要全部下载,只需下载你所需的镜像文件即可。
可以看到推荐的都是兼容X86架构的镜像,你点Tab页的“Other Images(其他镜像)”,就可以看到非X86的镜像,比如“armeabi”“arm64”等,这些都是以“arm”开头,表示兼容ARM架构的CPU。其实我们的真实设备一般都是ARM架构的CPU,但是虚拟机却推荐我们使用X86架构的镜像,这是为什么呢?因为我们的用于开发的电脑都是X86架构的,运行在上面的虚拟机如果也是X86架构,那么其运行就能优化。你完全可以创建ARM架构的虚拟机,但是那启动速度比乌龟还慢。也许你看此书时,ARM架构的虚拟机也被优化到很快了也很难说呢。
好,现在你选择一个已下载到本地的镜像,然后点“Next”,出现如图2.2.2.7所示的界面。
图2.2.2.7
(6)这里我们可以对虚拟机做进一步的设置。
我看还是不用了吧,默认就很好,最多也就改改名字(AVD name)。注意右边区域中如果有以下提示的话,你需要安装叫作“HAXM”的工具,如图2.2.2.8所示。
图2.2.2.8
要安装Haxm很简单,点一下超链接就自动下载安装。这个工具是帮我们提升x86虚拟机的运行速度的。
(7)点“Finish(完成)”,虚拟机开始被创建,这可能需要一段时间,请耐心等待。
完成后,出现如图2.2.2.9所示的窗口。
图2.2.2.9
这里面列出了我们创建的所有虚拟机。最右边的三个图标是用于管理虚拟机的,比如启动、修改、删除等。绿三角箭头表示启动。你可以现在就点它一下试试,是不是看到有虚拟机启动了?恭喜你,你家多了一台Android设备!
也可以不在这里启动虚拟机,在运行App时再启动,一样的。
2.2.3 启动App
当虚拟机或真实设备配置完成后,我们就可以启动App了。点工具栏上的运行图标,可以看到如图2.2.3.1所示的窗口。
图2.2.3.1
这个窗口让我们选择一个设备来运行我们的App。靠近顶部的提示是告诉我们“没有检测到正在运行的USB设备或模拟器”,因为没有用USB线连接上手机或平板,也没有提前启动虚拟机,所以会有此提示。再往下的“Connected Devices”区列出所有已连接(已启动)的设备,这里是“None”,如果你提前启动了虚拟机或连接了真实设备,那么这里就能列出它们。在下面的“Available Virtual Devices”区列出的是已创建但未启动的虚拟机,我们可以在这里选择一个虚拟机,点“OK”,就会启动虚拟机,并且在虚拟机准备好之后,Android Studio会自动编译App,然后把编译出的APK文件(App安装包)安装到设备中,再启动App。
好了,行动起来,选中虚拟机,点“OK”吧,你看到了什么结果?可能需要的时间比较长,请耐心等待,如果遇到问题,也请继续看下节。
2.2.4 x86虚拟机加速
Android Studio之所以推荐创建x86架构的虚拟机,主要是因为它快,但是这是有条件的,条件有三:
• 你的电脑必须是Intel的CPU。
• 你的电脑必须在BIOS中开启了CPU虚拟支持。
• 你必须安装了虚拟加速工具:HAXM。
所以,如果你的电脑是AMD的CPU,那就认倒霉吧。虽然AMD也是x86架构,但是Android虚拟机却不支持它的虚拟化技术,只支持Intel的虚拟化技术。拥有AMD CPU电脑的你只能创建和运行ARM架构的虚拟机,也很好,能帮助你锻炼耐心(似乎Google正在对AMD CPU进行虚拟机提速优化,可能你读此书时,AMD CPU也不存在问题了)。
如果你的电脑是Intel的CPU,那么还需要开启虚拟化支持和安装加速工具。请看下节。
2.2.4.1 BIOS中开启虚拟化支持
需要做两件事:一,进BIOS;二,找到虚拟化设置项并开启它。
台式机进入BIOS的方式比较固定,开机后马上按住“Del”键,过几秒就能进入。如果进不了,你就得上网搜你的电脑型号如何进入了。如果是笔记本电脑,不同的品牌差别就比较大了,一般都需要在网上搜一下。比如搜:“联想笔记本怎么进BIOS”,然后我找到这篇文章:http://jingyan.baidu.com/article/546ae18577d3f11149f28c23.html,写得很详细。
虚拟化支持在不同品牌的电脑中叫法有点不一样,一般都带有“Virtualization”这样的字眼,如图2.2.4.1.1所示。
图2.2.4.1.1
英语不好的同学,自己翻译一下吧,BIOS里全是英文啊。
2.2.4.2 安装HAXM
可能在前面的讲解中你已经安装了HAXM这个工具,但是你也应该看一下这一节,这里讲了安装Android开发工具的通用方法。这个工具在Android Studio中就可以安装。
启动Android SDK管理器:在主菜单中点“Tools”→“Android”→“SDK Manager”,如图2.2.4.2.1所示。
图2.2.4.2.1
Android SDK管理窗口会显示出来,如图2.2.4.2.2所示。
图2.2.4.2.2
选择“SDK Tools”Tab页,在下面的列表区拖动滚动条,直到看到“Intel x86 Emulator Accelerator(HAXM Installer)”,如果前面的Check框已被选中,就表示已安装了,不需要再安装。如果没有选中,就选中它,然后点下面的按钮“Apply(应用)”或“OK”,SDK管理器就会自动下载并安装它。
2.2.5 App的样子
不论你在启动App时选择了虚拟机还是真实设备,现在都应该能看到App长什么样了,我的是图2.2.5.1这样的。
• 最上面深蓝色长条是系统状态栏,上面显示了很多系统状态,比如是否有内存卡、是否连接到了WIFI、电池电量等。
• 下面的高度大一些的蓝色条为导航栏,一般显示一个页面的标题、菜单等。
• 白色区域是内容区,现在只显示了一段文字:“Hello World”。
图2.2.5.1
至此,第一个App终于运行起来了,应该说最难的鼓捣出来了。休息休息吧。
回忆一下我们做了什么?安装Android Studio和Android SDK,创建工程,配置虚拟机,运行App,也没多少东西嘛。