一种Android模拟器快速安装APK程序的方法及系统
技术领域
本发明属于计算机技术领域,具体涉及一种Android模拟器快速安装APK程序的方法及系统。
背景技术
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于便携设备,如智能手机和平板电脑。目前尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年由Google收购注资,并组建开放手机联盟开发改良随后,逐渐扩展到平板电脑及其他领域上。第一部Android智能手机发布于2008年10月。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。2012年11月数据显示,Android占据全球智能手机操作系统市场76%的份额,中国市场占有率为90%。
Android模拟器是Android SDK(Software Development Kit,即软件开发工具包)自带一个移动模拟器。它是一个可以运行在电脑上的虚拟设备。Android模拟器可以不需使用物理设备即可预览、开发和测试Android应用程序。
APK是Android Package的缩写,即Android安装包(APK)。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。APK文件和sis一样,把android sdk编译的工程打包成一个安装程序文件,格式为apk。APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Dalvik VM executes的全称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。
目前,为了将APK程序安装到Android模拟器,首先是将APK程序复制到模拟器的一个临时目录下,然后调用PM(package manager)管理器将其安装到Android系统中。由于受限于模拟器本身的性能,将APK程序复制到模拟器的临时目录下的速度较慢,通常在50K每秒的速度,从而使得APK程序的整个安装过程耗时较长,不能满足人们需求。
发明内容
为了解决上述问题,本发明的目的在于提供一种Android模拟器快速安装APK程序的方法及系统。
为了实现上述发明目的,得到了以下技术方案:
一种Android模拟器快速安装APK程序的方法,包括以下步骤:
(1)将所述APK程序写入到SD卡镜像文件中;
(2)将所述SD卡镜像文件加载到Android系统中;
(3)调用PM管理器完成所述APK程序的安装。
进一步的,所述第(1)步具体是:
打开模拟器的SD卡镜像文件;
以FAT32的格式解析所述SD卡镜像文件,以获取所述APK程序需要写入的位置;
将所述APK程序写入到上述位置;
关闭所述SD卡镜像文件。
进一步的,所述第(2)步具体是:
当模拟器正常启动时,通过模拟器将所述SD卡镜像文件自动加载到Android系统中。
进一步的,所述第(2)步具体是:
当模拟器从已保存的镜像恢复启动时,先卸载SD卡,然后再挂载SD卡进而将所述SD卡镜像文件加载到Android系统中。
一种Android模拟器快速安装APK程序的系统,包括以下模块:
写入模块,用于将所述APK程序写入到SD卡镜像文件中;
加载模块,用于将所述SD卡镜像文件加载到Android系统中;
安装模块,用于调用PM管理器完成所述APK程序的安装。
进一步的,所述写入模块包括以下子模块:
打开子模块,用于打开模拟器的SD卡镜像文件;
解析子模块,用于以FAT32的格式解析所述SD卡镜像文件,以获取所述APK程序需要写入的位置;
写入子模块,用于将所述APK程序写入到上述位置;
关闭子模块,用于关闭所述SD卡镜像文件。
进一步的,所述加载模块将所述SD卡镜像文件加载到Android系统中,具体是:当模拟器正常启动时,通过模拟器将所述SD卡镜像文件自动加载到Android系统中。
进一步的,所述加载模块将所述SD卡镜像文件加载到Android系统中,具体是:当模拟器从已保存的镜像恢复启动时,先卸载SD卡,然后再挂载SD卡进而将所述SD卡镜像文件加载到Android系统中。
其中,SD卡(Secure Digital Memory Card)中文翻译为安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备,它被广泛地于便携式装置上使用,例如数码相机、个人数码助理(PDA)和多媒体播放器等。
其中,镜像文件其实和ZIP压缩包类似,它将特定的一系列文件按照一定的格式制作成单一的文件,以方便用户下载和使用,例如一个测试版的操作系统、游戏等。它最重要的特点是可以被特定的软件识别并可直接刻录到光盘上。
其中,SD卡镜像文件的本身的格式是FAT32格式,FAT32是Windows系统硬盘分区格式的一种。这种格式采用32位的文件分配表,使其对磁盘的管理能力大大增强,突破了FAT16对每一个分区的容量只有2GB的限制。由于现在的硬盘生产成本下降,其容量越来越大,运用FAT32的分区格式后,我们可以将一个大硬盘定义成一个分区而不必分为几个分区使用,大大方便了对磁盘的管理。
本发明改变了之前将APK程序文件复制到模拟器临时目录下安装的方式,而是将其写入到SD卡镜像文件中,从而大大提高了安装速度,用户不再需要长时间等待。
附图说明
此附图说明所提供的图片用来辅助对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的不当限定,在附图中:
图1是本发明方法对应的主流程图;
图2是图1第(1)步的具体子流程;
图3是本发明方法对应的系统框图;
图4是图3写入模块的子模块框图。
具体实施方式
如图1所示,本实施例公开了一种Android模拟器快速安装APK程序的方法,包括以下步骤:
(1)将所述APK程序写入到SD卡镜像文件中;通过本步骤比现有复制APK程序到模拟器临时目录快很多;
(2)将所述SD卡镜像文件加载到Android系统中;本步骤根据模拟器本身的特性,可以在当通过模拟器正常启动时,通过模拟器将所述SD卡镜像文件自动加载到Android系统中;还可以在当模拟器从已保存的镜像恢复启动时,先卸载SD卡,然后再挂载SD卡进而将所述SD卡镜像文件加载到Android系统中;
(3)调用PM管理器完成所述APK程序的安装。
如图2所示,所述第(1)步具体包括以下子步骤:
(11)打开模拟器的SD卡镜像文件;
(12)以FAT32的格式解析所述SD卡镜像文件,以获取所述APK程序需要写入的位置;由于SD卡镜像文件是FAT32格式,所以必须采用同样的格式对其进行解析;
(13)将所述APK程序写入到上述位置;
(14)关闭所述SD卡镜像文件。
如图3所示,本实施例还公开了一种Android模拟器快速安装APK程序的系统,包括以下模块:
写入模块1,用于将所述APK程序写入到SD卡镜像文件中;
加载模块2,用于将所述SD卡镜像文件加载到Android系统中;所述加载模块将所述SD卡镜像文件加载到Android系统中,可以在当模拟器正常启动时,通过模拟器将所述SD卡镜像文件自动加载到Android系统中;也可以在当模拟器从已保存的镜像恢复启动时,先卸载SD卡,然后再挂载SD卡进而将所述SD卡镜像文件加载到Android系统中;
安装模块3,用于调用PM管理器完成所述APK程序的安装。
如图4所示,写入模块1包括以下子模块:
打开子模块11,用于打开模拟器的SD卡镜像文件;
解析子模块12,用于以FAT32的格式解析所述SD卡镜像文件,以获取所述APK程序需要写入的位置;
写入子模块13,用于将所述APK程序写入到上述位置;
关闭子模块14,用于关闭所述SD卡镜像文件。
本实施例通过改变APK文件写入到模拟器中的方式,进而大大提高了其安装速度,进而提高了用户体验效果。
以上详细描述了本发明的较佳具体实施例,应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明构思在现有技术基础上通过逻辑分析、推理或者根据有限的实验可以得到的技术方案,均应该在由本权利要求书所确定的保护范围之中。