【Android】Android Emulator初探

        Android成长是迅猛的,Android手机全球份额达80%多,其衍生出来的产品类型正在扩大覆盖范围,手机APP已经涵盖了生活的各个方面,为我们提供了便捷的服务,以往银行转账、缴交杂费可能需要花费半个小时甚至更多的时间排队等待,如今只需拿出手机,点击几下即可完成很多业务功能,节约了时间,提升了工作效率。

        Android带来的变化,不仅是技术的革新,也是生活方式的变更。这些优势得益于Android本身具有的一整套完善的架构体系,以及配套的工具,在本文中着重讲解Android模拟器的一些基础的用法,对自身在使用Android模拟器过程中碰到的一些问题进行汇总。

     0x01  Android模拟器简介

        Android模拟器,顾名思义即用于模拟Android运行环境,它是一个可以运行在你电脑上的虚拟设备。 Android模拟器可以让你不需使用物理设备即可预览、开发和测试Android应用程序。除了便于开发人员用于开发调试程序之外,也可以提供给安全人员进行恶意程序的分析。

     0x02  Android模拟器适用范围及局限性

        Android模拟器能够模拟除了接听和拨打电话外的所有移动设备上的典型功能和行为。Android模拟器提供了大量的导航和控制键,你可以通过鼠标或键盘点击这些按键来为你的应用程序产生事件。同时它还有一个屏幕用于显示Android自带应用程序和你自己的应用程序。为了便于模拟和测试应用程序,Android模拟器允许你的应用程序通过Android平台服务调用其他程序、访问网络、播放音频和视频、保存和传输数据、通知用户、渲染图像过渡和场景。Android模拟器同样具有强大的调试能力,例如能够记录内核输出的控制台、模拟程序中断(比如接受 短信或打入电话)、模拟数据通道中的延时效果和遗失。

        Android模拟器便于开发调试,但也有其局限性,最显著的一个特点就是启动非常慢,主要是因为android模拟器默认采用的是arm处理器造成的。另外一个问题是模拟器无法完全取代真机的操作,有些特定的情况无法完全在模拟器上真实的模拟出来,加之现在很多APP为了自身代码安全考虑,经过代码混淆以及加固等处理措施,防止他人对代码的逆向破解。经过混淆和加固后的APP在模拟器上无法正常运行。

        android模拟器和真机的不同之处

        *不支持呼叫和接听实际来电;但可以通过控制台模拟电话呼叫

        *不支持USB连接

        *不支持相机/视频捕捉

       *不支持音频输入(捕捉);但支持输出(重放)

       * 不支持扩展耳机

       * 不能确定连接状态

       * 不能确定电池电量水平和交流充电状态

        * 不能确定SD卡的插入/弹出

        * 不支持蓝牙

       0x03  Android模拟器安装

        随着Android的盛行,越来越多的模拟器出现,在此只讲述基于安卓自带的模拟器的安装使用,后续文章会有针对其他模拟器的一些详细介绍。具体安装过程可以参考本博客中《Android开发环境搭建》,在Android开发环境搭建的过程中自带的安装android模拟器。

     0x04  Android模拟器使用

        Android模拟器安装好之后必须创建至少一个虚拟设备(AVD),AVD全称为Android虚拟设备(Android Virtual Device),每个AVD模拟了一套虚拟设备来运行Android平台,这个平台至少要有自己的内核,系统图像和数据分区,还可以有自己的SD卡和用户数据以及外观显示等。

        (1)在Ubuntu下通过Ctrl+Alt+t可以快速的调出终端,输入android list targets查看可用的平台。

       

        如上列举了3个targets,id分别为1、 2、 3。

        (2)创建AVD。

        按照“android create avd --name <your_avd_name> --target <targetID>"格式创建AVD,其中”your_avd_name"是需要创建的AVD名称,此条创建语句也可以简写成如下格式:"android create avd -n <your_avd_name> -t <targetID>"。

        按照如上的命令创建AVD,报出如下错误信息:

       Valid ABIs: default/armeabi-v7a, default/x86
        Error: This platform has more than one ABI. Please specify one using --abi.

       ABI是模拟器运行的系统映像文件,此时需要指定具体的abi参数,最终执行命令如下:android create avd -n test1 -t 1 -b armeabi-v7a。此时还需要注意的一个点是和自身操作系统相关的问题,Ubuntu对用户和目录的权限控制的比较严格,由于之前安装Android SDK的过程中使用了root用户,因此在普通用户下要创建AVD,会报“权限不允许”的问题。可以在执行命令之前加上sudo以此解决权限限制的问题。另外我采用的方式是为/home/hack/.android目录赋予普通用户可读写权限。一样可以创建成功。

        可以通过android delete avd -n your_avd_name对创建的AVD进行删除。

       

        (3)启动emulator

        当AVD创建完成后,就可以通过emulator来启动模拟器,具体执行命令:emulator @your_avd_name或者emulator -avd test2

       

        (4)安装app

        通过Ctrl+Alt+t调出终端,执行adb install yourapp.apk进行app的安装。

        0x05  结束

        至此,你可以愉快的在你的Android模拟器上进行开发调试了

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值