前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >速读原著-Android应用开发入门教程(Android中运行仿真器环境)

速读原著-Android应用开发入门教程(Android中运行仿真器环境)

作者头像
cwl_java
发布2020-01-15 10:43:01
7790
发布2020-01-15 10:43:01
举报
文章被收录于专栏:cwl_Java

2.3 Android中运行仿真器环境

2.3.1. 建立Android虚拟设备

为了运行一个 Android 仿真器的环境,首先需要建立 Android 虚拟设备(AVD)。在 Eclipse 的菜单中,择“Window”>“Android AVD Manager”,出现“Android SDK and AVD Device Manager”窗口,界面如图所示:

在这里插入图片描述
在这里插入图片描述

界面中间的列表表示了目前可以使用的 Android 虚拟设备,在没有虚拟设备的情况下点击右侧的 New 选择建立一个虚拟设备。 建立新的 Android 虚拟设备的窗口为 Create new AVD,如图所示:

在这里插入图片描述
在这里插入图片描述

Android 虚拟设备的建立包含了以下的一些选项:

  • 名字(Name):这个虚拟设备的名称,由用户自定义;
  • 目标(Target):选择不同的 SDK 版本(依赖一目前 SDK 的 platform 目中包含了哪些版本的 SDK) „ SD 卡:模拟 SD卡,可以选择大小或者一个 SD 卡映像文件,SD 卡映像文件是使用 mksdcard 工具建立的。
  • 皮肤(Skin):这里皮肤的含义其实是仿真器运行尺寸的大小,默认的尺寸有 HVGA-P(320x480),HVGA-L(480x320)等,也可以通过直接指定尺寸的方式制定屏幕的大小。
  • 属性:可以由用户指定仿真器运行的时候,Android 系统中一些属性

2.3.2. 运行虚拟设备

在“Android SDK and AVD Device Manager”窗口中,选择一个设备,点击右侧的 Start,将启动虚拟设备,运行一个 Android 系统,一个 HVGA-P(320x480)尺寸的运行结果如图所示:

在这里插入图片描述
在这里插入图片描述

出现窗口的左侧是运行的仿真器的屏幕,右侧是模拟的键盘。设备启动后,可以使用右侧的键盘模拟真实设备的键盘操作,也可以用鼠标点击(或者拖拽和长按)屏幕,模拟触摸屏的操作。

除了使用右侧的模拟键盘之外,也可以使用 PC 机的键盘来进行模拟真实设备的键盘操作。尤其是当仿真器的大小不是标准值的时候,可能不会出现按键的面板,在这种情况下只能使用键盘的按键来控制仿真器的按键

按键之间的映射关系如下表所示:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Android 仿真器启动虚拟设备之后,默认就可以使用主机的网络作为自己的网络、使用主机的音频设备作为自己的声音输出。

2.3.3. 使用Android中的工具

在仿真器环境中,可以使用集成的 Android 相关工具。使用的方法是 Window-> Show View -> Other 选项,可以开启 Android 的各个工具。调用的过程如下图所示:

在这里插入图片描述
在这里插入图片描述

选择 Android 工具的对话框如图所示:

在这里插入图片描述
在这里插入图片描述

这里可以选择的主要工具有 Device(设备控制)、Emulator Control(仿真器控制)、File Explore(文件浏览)、Heap(堆内存)、Logcat、Resource Explore(资源浏览)、Threads(线程等)。每个工具开启之后,将出现一个单独的选项卡。

2.3.4. 使用logcat

Logcat 工具是查看系统 Log 信息的工具,可以获得 Android 系统运行的时候打印出来的信息。工具的界面如下所示:

在这里插入图片描述
在这里插入图片描述

Logcat 实际上是一个运行在目标系统的工具,也就是一个 Linux 的命令行程序,这是界面种是带有 GUI 的效果。Logcat 的窗口中记录的信息也就是实际的 Android 系统打印出来的。包含了时间(Time)、级别(Level)、进程 ID(Pid)、标签(tag)、Log 内容(Message)等项目。

Logcat 窗口可以设置 Log 的过滤器(Filter),这样可以仅仅获得自己需要的 Log 信息,屏蔽其他的信息。命令行程序 logcat,位于目标文件系统中该工具位于 system/bin 目录中,Logcat 的使用方法如下所示:

代码语言:javascript
复制
logcat 工具的选项如下所示:
-s 设置过滤器,例如指定 '*:s 
-f <filename> 输出到文件,在默认情况下是标准输出
-r [<kbytes>] 循环 log 的字节数(默认为 16),需要 –f 
-n <count> 设置循环 log 的最大数目,默认为 4 
-v <format> 设置 log 的打印格式,<format> 是下面的一种:
brief process tag thread raw time threadtime long 
-c 清除所有 log 并退出
-d 得到所有 log 并退出(不阻塞) 
-g 得到环形缓冲区的大小并退出
-b <buffer> 请求不同的环形缓冲区('main'(默认)、'radio'、'events') 
-B 将 log 输出到二进制文件中

2.3.5. 使用仿真器控制

选择 Emulator Control 选项可以开启仿真器的控制对话框,它的界面如下所示:

在这里插入图片描述
在这里插入图片描述

它甚至可以模拟打电话,发短信的过程。例如在 incoming number 中输入电话号码,然后点击 Call 按钮。这是仿真器的运行界面如图所示:

在这里插入图片描述
在这里插入图片描述

接受电话的程序已经被调用起来,这里显示的电话号码 1-234-56,也是在仿真器控制的窗口中设置的。模拟发送短信的界面显示如下所示:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3.6. 命令行工具adb、mksdcard等

有一些 Android 的工具需要在命令行的环境中运行,只是可以选择 Windows 的开始->运行,键入 cmd 并确定,进入命令行的界面中运行。主要的命令行工具包括 adb 和 mksdcard 等。命令行的工具在 Android SDK 的tools 目录中,使用命令行的窗口如图所示:

在这里插入图片描述
在这里插入图片描述

adb(Android Debug Bridge,Android 调试桥)是 Android 的主要调试工具,它可以通过网络或者 USB 连接真实的设备,也可以连接仿真器。使用 adb 进行调试,通常在命令行的界面中。

将出现 shell 提示符,这就是 Android 所运行的 Linux 系统中的 shell 终端,可以在这个 shell 提示符后执行Android 系统提供的 Linux 命令。

使用 ls 命令查看 Android 系统根目录:

在这里插入图片描述
在这里插入图片描述

Android 根目录中的主要文件夹与目标系统的 out/target/product/generic/root 内容相对应,此外 etc、proc 等目录是在 Android 启动后自动建立的,system 映像被挂接到根文件系统的 system 目录中,data 映像被挂接到根文件系统的 data 目录中。

使用 ps 命令可以查看 Android 系统的进程:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

从系统的进程中可以看到,系统 1 号和 2 号进程以 0 号进程为父进程。init 是系统运行的第 1 个进程,即Android 根目下的 init 可执行程序,这是一个用户空间的进程。kthreadd 是系统的 2 号进程,这是一个内核进程,其他内核进程都直接或间接以它为父进程。

Zygote、/system/bin/sh、/system/bin/mediaserver 等进程是被 init 运行起来的,因此它们以 init 为父进程。其中 android.process.acore(Home)、com.android.mms 等进程代表的是应用程序进程,它们的父进程都是 zygote。

使用 adb 连接目标系统终端的方式如下所示:

代码语言:javascript
复制
adb shell

使用 adb 安装应用程序的方法为:

代码语言:javascript
复制
adb install XXX.apk

使用 adb 在主机和目标机之间传送文件的方法为:

代码语言:javascript
复制
adb push {host_path} {target_path}
adb pull {target_path} {host_path}

mksdcard 是用来建立 SD 卡映像的工具,用来建立一个 Fat32 格式的磁盘映像,其使用方法如下所示:

mksdcard 的参数-l 用于指定磁盘映像的标签,size 用于指定磁盘映像的大小,其后面可以跟 K、M、G 等参数,file 是磁盘映像的文件名称,这个文件也就是在仿真器运行过程中指定的文件。 mksdcard 的一个使用的示例如下所示:

代码语言:javascript
复制
mksdcard 128M sdcard.img

这表示建立了一个大小为 128M,名称为 sdcard.img 的 Fat32 磁盘映像文件。

2.3.7. 使用设备控制

Device 工具可以用于进一步控制仿真器的运行状况,在其中可以查看 Heap(堆内存)、Threads(线程)的信息,还具有停止某个进程的运行,截取屏幕等功能。Device 工具的窗口如图所示:

在这里插入图片描述
在这里插入图片描述

点击 Device 窗口工具栏最右侧的 Screen Capture 按钮,可以打开截取屏幕的窗口,如上图所示。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/01/10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.3 Android中运行仿真器环境
    • 2.3.1. 建立Android虚拟设备
      • 2.3.2. 运行虚拟设备
        • 2.3.3. 使用Android中的工具
          • 2.3.4. 使用logcat
            • 2.3.5. 使用仿真器控制
              • 2.3.6. 命令行工具adb、mksdcard等
                • 2.3.7. 使用设备控制
                相关产品与服务
                命令行工具
                腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档