用模拟器测试Android应用,真机说:“这份苦,终于不用我扛了。”
开发应用需要调试,这是每个程序员的共识。但如何在计算机平台上调试手机程序?Android模拟器应运而生。
所谓模拟器,就是在计算机上模拟安卓系统的软件,可以用它来调试并运行开发的Android程序。
这意味着开发者不需要真实的Android手机,仅凭计算机就能模拟手机运行环境,开发出应用于手机的程序。
Android SDK中包含的模拟器功能齐全,电话本、通话等功能都可正常使用(虽然不能真的打电话)。
其内置的浏览器和Maps都可以联网。用户可以使用键盘输入,鼠标点击模拟器按键输入,甚至还可以使用鼠标点击、拖动屏幕进行操作。
有了模拟器,你可以同时创建多个不同配置的虚拟设备,组成你的测试军团,覆盖从低端到高端,从旧版到最新版的多种设备,彻底告别“我手机上正常啊”的尴尬局面。
虽然模拟器很强大,但它不能完全替代真机。是时候了解它们之间的本质区别了:
模拟器不支持呼叫和接听实际来电,但可以通过控制台模拟电话呼叫(呼入和呼出)不支持USB连接和相机/视频捕捉不支持音频输入(捕捉),但支持输出(重放)模拟器不能确定电池电量水平和交流充电状态不支持蓝牙和扩展耳机不能确定SD卡的插入/弹出看到这里,你可能有点失望——这么多限制!但别急,对于大多数应用功能的测试,模拟器已经足够。
模拟器更适合在开发阶段进行快速调试和验证,而真机则更适合在发布前做最终验证。两者不是替代关系,而是互补关系。
Emualor是Android Studio自带的模拟器,是官方提供的工具,也是Android开发最常使用的一款。
它更新及时,支持最新的Android版本,且与Android Studio无缝集成。但它对电脑配置要求较高,如果电脑配置不高,运行可能会比较慢。
网易MuMu模拟器是网易官方推出的Android模拟器,安装很方便,对于adb和抓包支持的也很好,而且运行相对比较快。
直接到官网下载安装包即可,默认安装,打开就可以使用。常见的MuMu模拟器是Android 6.0的版本。
不过,MuMu模拟器在自动化过程中会存在横屏的问题,且不能自定义其他系统版本,在工作当中限制较大。
Genymotion是一款运行速度较快的模拟器,也可以定制不同的系统版本和分辨率,运行速度比官方Emulator要快。
但安装起来相对麻烦一些,对于初学者来说,了解有这样一款工具即可,不建议一开始就安装。
市面上还有夜神模拟器、逍遥模拟器等,它们各有特点,比如夜神模拟器可以通过adb connect 127.0.0.1:62001连接,逍遥模拟器则使用adb connect 127.0.0.1:21503连接。
通过AVD Manager创建使用模拟器是最简单的方式:
启动Android Studio点击Configure后选择AVD Manager点击Creat Virtual Device选择设备尺寸选择手机系统切换到X86列表,建议选择带有Google Apis的镜像点击镜像后方的Download按钮下载镜像(推荐Android 6.0系统)模拟器设置页面:AVD Name可以设置模拟器的名字点击Show Advanced Settings展开高级选项可以配置SD卡的存储大小模拟器创建成功点击绿色三角按钮启动模拟器创建模拟器时,建议给模拟器起一个容易识别的名字,比如“Pixel_4_API_30”,这样在多个模拟器时便于管理。
对于存储大小,建议设置足够的存储空间,避免后续出现“存储空间不足”的问题。
ADB(Android Debug Bridge)是一个通用命令行工具,用于与Android设备进行通信。
查看设备:adb devices——列出所有已连接的Android设备安装应用:adb install ——安装APK文件到设备卸载应用:adb uninstall ——卸载应用程序进入Shell:adb shell——进入设备的shell环境文件传输:adb pull ——从设备拉取文件到电脑;adb push ——将电脑文件推送到设备让我们一步步创建一个名为“MyTestDevice”的模拟器:
打开Android Studio,点击工具栏上的AVD Manager图标(手机形状的图标)在AVD Manager窗口中,点击“+ Create Virtual Device”选择设备类别,比如Phone,然后选择Pixel 4,点击Next选择系统镜像,比如选择Android 11(API 30),点击Download下载(如果尚未下载)下载完成后,点击Next在最终配置界面,输入AVD名称为“MyTestDevice”展开Advanced Settings,将SD卡存储设置为1000MB点击Finish完成创建现在,让我们通过命令行启动这个模拟器:
# 切换到模拟器所在路径(根据你的实际安装路径调整)
cd /Users/用户名/Library/Android/sdk/emulator/
# 查看可用的模拟器
./emulator -list-avds
# 启动我们刚创建的模拟器
./emulator -avd MyTestDevice
模拟器启动后,安装一个应用试试:
# 安装APK
adb install app-debug.apk
# 启动应用
adb shell am start -n com.example.myapp/.MainActivity
# 查看应用日志
adb logcat | findstr MyApp
推荐使用Android Studio自带的官方模拟器——它更新及时、功能全面,尽管对硬件要求稍高,但绝对是值得的投资。
熟练使用adb命令则是另一个进阶之路,它能将繁琐的手工操作化为一行行简洁的指令。
现在,是时候打开你的电脑,创建一个专属的模拟器,输入第一个adb命令了。