59

Android9编程三:运行第一个App

 5 years ago
source link: https://blog.csdn.net/niu_gao/article/details/89279880?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

接上回: Android9编程二:创建第一个App

当前这个工程已经具备了一个页面,而且是可以运行的,运行一个APP很简单,点菜单栏下面工具栏上的绿色三角箭头即可:

MbiIzqY.png!web

点了之后,出现如下窗口:

Qnaiyey.png!web

这个窗口让我们选择一个Android设备来运行APP。

APP必须运行在Android设备上,如果你指定了一个设备,Android Studio就会把我APP安装到这台设备上并自动开启这个APP。但是现在这个窗口中显示“(没有)”,也就是没有设备,你的也应该一样。

现在看来运行一个APP还不是那么简单,但是不要怕,也不是什么大问题,我们只要有一台Android设备就行了。

设备分为真实设备和虚拟设备,这两种都可以运行APP。真实设备就是你的Android手机或平板,虚拟设备是电脑中用软件模拟出来的Android虚拟机。如果你手上有Android手机或平板,可以把它连接到电脑上,让Android Studio找到它,下面讲一下如何把真实的设备连接到Android Studio中。

一、在真实设备上调试

让Android Studio找到真实的设备,需要两步(这两步不分先后啊):

  • 1)在设备上开启调试(DEBUG)模式。
  • 2)用USB线把电脑与设备连接起来。

第二步连弱智都会,就不多讲了,但是要注意,把你的设备连接到的是运行Android Studio的电脑,而不是不相干的电脑(好像有点废话的样子)。

重点讲第一步。不同版本的Android系统,其打开调试的方式有点不一样,我们讲一下比较新的版本的方式,旧本版本的方式自己也可以从网上搜索到。其实我也是在网上搜到的,所以我先打开某个搜索引擎(微软必应)的主页:

UrINVzb.png!web

以三星手机为例,输入“三星手机打开调试”,点右边的搜索图标或按回车键(当然你也可以输入“安卓手机打开调试”之类的语句),搜索结果中的任何一个几乎都对我们有帮助,比如我找了一个在三星S4上开启调试的教程,结果在我的三星A8上也适用。

跟据教程说明,打开调试的过程是这样的:

*** 打开设置(也可叫做“设定”)—>点“关于设备”—>点“版本号”或“内部版本号” ***。

当第一次点,会提示“点N次开启调试”之类的话,跟着做就行了。如果已经启用调试模式了,会提示已经开启,此时就不必再次开启了。

开启开发模式之后,再回到手机的设置主页面,能看到多了一条“开发者选项”,点它进入开发者选项页面,点最上面的“开”,就打开了调试模式。但是可以看到下面还有好多设置项,不用理它们,只需在其中找到“USB调试”这一条,开启它即可。

当你把手机连到电脑上之后,再点“运行”,是否看到了类似这样的画面?

yqAN3uJ.png!web

可以看到真实的设备被找到了,选中它,点“OK”,就可以在这部设备上运行App了(可能编译和安装APP的过程要花一点时间,请耐心等待)。

注意!一般原装的USB数据线都可以让电脑识别出设备,但是如果用的是后期买的便宜线,充电可能没问题,用来调试可能就不行了。

二、配置虚拟机

上一节教会了你在真机上开启调试,但如果你手中没有Android真机怎么办? 如果你真机的系统版本太低怎么办(还记得建立项目时,需要我们选择最低能安装到的系统版本吗?)? 再或者说,我们想在不同Android版本的系统中测试我们的App怎么办? 不用害怕,我们有Android虚拟机!我们现在就通过Android Studio提供的工具来创建虚拟机。

  • 1)点主菜单中的”Tools(工具)”:
    zyIn2af.png!web
  • 2)在出现的菜单中点“Android”,然后在出现的子菜单中点“AVD Manager”,如下图 :
    J3M7Vrv.png!web
  • 3)现在会出现如下窗口,点按钮“Create Virtual Device(创建虚拟设备)”即开始创建:
    yaQBVfE.png!web 其实也可以在点“运行”后,在设备选择对话框中点“Create New Virtual Device (创建新虚拟设备)”,如下图:
    vIZRFfF.png!web 不论哪种方式,都会出现如下窗口:
    Q3IBv2B.png!web
  • 4)这个窗口让我们选择一个种设备去创建虚拟机。
    最左边区域是类别,TV表示电视设备,Wear表示穿戴设备,Phone表示手机,Tablet表示平板。中间区是具体设备属性,Name表示设备的名字,Size表示设备的屏幕尺寸,Resolution表示设备的分辩率,Density表示设备像素的密度。最右边区域是预览信息。
    你可以选一个设备,然后点“Next”按钮,出现如下窗口:
    E7Fv6fn.png!web
  • 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”,出现如下画面:
    YzyMr2N.png!web
  • 6)这里我们可以对虚拟机进行进一步的设置。
    我看还是不用了吧,默认就很好,最多也就改改名字(AVD name)。注意右边区域中如果有以下提示的话,你需要安装叫做“HAXM”的工具,如下图所示:
    Vzu2mye.png!web 要安装Haxm很简单,点一下超链接就自动下载安装。这个工具是帮我们提升X86虚拟机的运行速度的。
  • 7)点“Finish(完成)”,虚拟机开始被创建,这可能需要一段时间,请耐心等待。
    完成后,出现如下窗口:
    QfU3quF.png!web 这里面列出了我们创建的所有虚拟机。最右边的三个图标是用于管理虚拟机的,比如启动,修改,删除等。绿三角箭头表示启动。你可以现在就点它一下试试,是不是看到有虚拟机启动了?恭喜你,你家多了一台Android设备!
    也可以不在这里启动虚拟机,在运行APP时再启动,一样滴。

三、启动APP

当虚拟机或真实设备配置完成后,我们就可以启动APP了。点工具栏上的运行图标,可以看到如下窗口:

3a2Efum.png!web

这个窗口让我们选择一个设备来运行我们的APP。靠近顶部的提示是告诉我们“没有检测到正在运行的USB设备或模拟器”,因为没有用USB线连接上手机或平板,也没有提前启动虚拟机,所以会有此提示。再往下的“Connected Devices”区列出所有已连接(已启动)的设备,这里是“None”,如果你提前启动了虚拟机或连接了真实设备,那么这里就能列出它们。再下面的“Available Virtual Devices”区列出的是已创建但未启动的虚拟机,我们可以在这里选择一个虚拟机,点“OK”,就会启动虚拟机,并且在虚拟机准备好之后,Android Studio会自动编译APP然后把编译出的APK文件(App安装包)安装到设备中,再启动App。

好了,行动起来,选中虚拟机,点“OK”吧,你看到了什么结果?(可能需要的时间比较长,请耐心等待)

(摘自《Android9编程通俗演义》,京东淘宝及各大书店有售)


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK