自动预装应用程序的方法及装置与流程

文档序号:13512696阅读:208来源:国知局
自动预装应用程序的方法及装置与流程

本发明涉及互联网技术领域,具体而言,涉及一种自动预装应用程序的方法及装置。



背景技术:

在手机系统的开发过程中通常会有两种类型的app,一种是预装的可卸载的app,一种是预装的不可卸载的app。这两种app类型的app分别对应于系统级别的应用和用户级别的应用程序,传统的系统开发过程中对于安装不可卸载的app的实现方法是通过将app打包到系统目录下,对于预装的可卸载的app是通过人工手动的方式来进行出厂预装。传统系统方案中分别对待这两种级别的app的安装都是非自动的安装方法来进行安装的。

因此,提供一种自动预装app的方法是十分必要的。



技术实现要素:

本发明的目的在于提供一种自动预装应用程序的方法及装置,以实现对待安装的应用程序的自动化安装,避免了人工操作的繁琐,提高了安装效率。

为了实现上述目的,本发明实施例采用的技术方案如下:

第一方面,本发明实施例提供了一种自动预装应用程序的方法,应用于终端,所述方法包括:

将待安装的应用程序的安装文件拷贝至预设置的设备目录下;

设置目标目录,所述目标目录的结构与所述设备目录的结构一致;

将所述设备目录下的安装文件复制于所述目标目录下;

执行所述目标目录下的安装文件,以使得待安装的应用程序完成安装。

第二方面,本发明实施例还提供了一种自动预装应用程序的装置,应用于终端,所述装置包括:

拷贝模块,用于将待安装的应用程序的安装文件拷贝至预设置的设备目录下;

设置模块,用于设置目标目录,所述目标目录的结构与所述设备目录的结构一致;

复制模块,用于将所述设备目录下的安装文件复制于所述目标目录下;

执行模块,用于执行所述目标目录下的安装文件,以使得待安装的应用程序完成安装。

本发明实施例提供的一种自动预装应用程序的方法及装置,该自动预装应用程序的方法及装置应用于终端,该自动预装应用程序的方法包括:将待安装的应用程序的安装文件拷贝至预设置的设备目录下,设置于设备目录结构一致的目标目录,将所述设备目录下的安装文件复制于目标目录下,执行目标目录下的安装文件,即可完成待安装应用程序的安装。通过本方案实现待安装应用程序的自动安装,以极大地提高了安装效率,减少了人工操作的繁琐。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明实施例提供的一种自动预装应用程序的方法的流程示意图。

图2示出了本发明实施例提供的一种自动预装应用程序的方法的子步骤的流程示意图。

图3示出了本发明实施例提供的另一种自动预装应用程序的方法的流程示意图。

图4示出了本发明实施例提供的一种自动预装应用程序的装置的功能模块示意图。

图示:100-自动预装应用程序的装置;110-拷贝模块;120-设置模块;130-第一检测模块;140-复制模块;150-执行模块;160-第二检测模块。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

本发明实施例提供的一种自动预装应用程序的方法应用于终端,该终端可以是,但不限于,手机或电脑等智能电子设备。该终端上预装有应用程序,该预装于终端的应用程序(即app)主要包括两种类型,一种为不可卸载的应用程序,也可以称为系统级别的应用程序,另一种为可卸载的应用程序,也可以称为用户级别的应用程序。在现有技术中,不可卸载的应用程序和可卸载的应用程序通常需要按照终端上固定格式的目录,将不可卸载的应用程序和可卸载的应用程序中的安装文件依次复制于固定格式的目录中,其预装的过程需通过手动的方式来实现,使得操作更加繁琐,降低了终端系统的性能。因此,本发明实施例提供一种自动预装应用程序的方法,通过自动预装应用程序,以实现减少人工操作,提高系统性能。

请参照图1,是本发明实施例提供的一种自动预装应用程序的方法的流程示意图,该自动预装应用程序的方法应用于终端,该自动预装应用程序的方法包括:

步骤s110,将待安装的应用程序的安装文件拷贝至预设置的设备目录下。

该待安装的应用程序包括不可卸载的应用程序和可卸载的应用程序,在编译终端上的系统时,需将不可卸载的应用程序和可卸载的应用程序的安装文件拷贝至预设置的设备目录下,以为后续预装不可卸载的应用程序和可卸载的应用程序做准备。

请参照图2,是本发明实施例提供的一种自动预装应用程序的方法的步骤s110的子步骤的流程示意图,该步骤s110包括:

步骤s111,将不可卸载的应用程序的安装文件中的库文件拷贝至第一设备目录下。

对于不可卸载的应用程序,若不可卸载的应用程序的安装文件中包含库文件(lib文件),则需将该库文件单独拷贝至终端系统的system分区中的库文件目录下,即第一设备目录下,以使得终端系统能正常加载不可卸载的应用程序的安装文件。具体的,该第一设备目录为device/system/lib。

步骤s112,将不可卸载的应用程序的安装文件中除库文件之外的其他文件拷贝至第二设备目录。

将不可卸载的应用程序的安装文件中除库文件之外的其他文件拷贝至终端系统的system分区中另一个文件目录下,即第二设备目录。具体的,该第二设备目录为device/system/apk。

步骤s113,将可卸载的应用程序的安装文件拷贝至第三设备目录下。

对于可卸载的应用程序,即便该可卸载的应用程序的安装文件中存在库文件,也无需将库文件单独存储于独立的文件夹中,终端系统即可识别该库文件以完成整个可卸载的应用程序的安装文件的加载。因此,将可卸载的应用程序的安装文件全部拷贝至第三设备目录下,该第三设备目录为device/data。

步骤s120,设置目标目录,所述目标目录的结构与所述设备目录的结构一致。

步骤s110中所述的设备目录为终端系统中的目录,且步骤s110中分别将可卸载的应用程序和不可卸载的应用程序的安装文件按照设备目录的结构存储到了设备目录中。该目标目录为可卸载的应用程序和不可卸载的应用程序实际需安装的位置,且为了应用程序的安装更为便捷,该目标目录的结构与设备目录的结构一致。具体为:对于不可卸载的应用程序在设备目录中的结构为device/system/lib和device/system/apk,则对应的不可卸载的应用程序的目标目录的结构设置为/system/lib和/system/app。对于可卸载的应用程序在设备目录中的结构为device/data,则对应的可卸载的应用程序的目标目录的结构设置为/data/app。

步骤s130,将所述设备目录下的安装文件复制于所述目标目录下。

对于不可卸载的应用程序,通过在脚本文件init.rc写入脚本命令cp-rfdevice/*/system,以实现将device目录下的所有文件强复制于system目录下。其中,cp表示复制操作,-rf表示强制和覆盖操作,device/*/system表示将device目录下的所有文件强复制于system目录下,也就是将设备目录下的安装文件复制于目标目录下。由于对于不可卸载的应用程序,其设备目录和目标目录的结构完全一致,则无需单独对apk安装文件和库文件对应的目录进行单独的处理,即可完成安装文件的复制。

对于可卸载的应用程序,通过在脚本文件init.rc中写入脚本命令cp-rfdevice/data/*/data/app,以实现将device/data目录下的文件拷贝至data/app目录下,即将位于设备目录下的可卸载的应用程序的安装文件拷贝至目标目录下。

步骤s140,执行所述目标目录下的安装文件,以使得待安装的应用程序完成安装。

在终端系统启动的时候执行脚本文件init.rc中关于可卸载的应用程序和不可卸载的应用程序的复制命令,将可卸载的应用程序和不可卸载的应用程序的安装文件从设备目录复制于目标目录,同时执行目标目录下的安装文件,以将可卸载的应用程序和不可卸载的应用程序分别安装于目标位置,以完成应用程序的安装。

请参照图3,是本发明实施例提供的另一种自动预装应用程序的方法的流程示意图,该自动预装应用程序的方法应用于终端,该自动预装应用程序的方法包括:

步骤s210,将待安装的应用程序的安装文件拷贝至预设置的目标目录下。

该待安装的应用程序包括不可卸载的应用程序和可卸载的应用程序,在编译终端上的系统时,需将不可卸载的应用程序和可卸载的应用程序的安装文件拷贝至预设置的设备目录下,以为后续预装不可卸载的应用程序和可卸载的应用程序做准备。

对于不可卸载的应用程序,若不可卸载的应用程序的安装文件中包含库文件(lib文件),则需将该库文件单独拷贝至终端系统的system分区中的库文件目录下,即第一设备目录下,以使得终端系统能正常加载不可卸载的应用程序的安装文件。具体的,该第一设备目录为device/system/lib。

将不可卸载的应用程序的安装文件中除库文件之外的其他文件拷贝至终端系统的system分区中另一个文件目录下,即第二设备目录。具体的,该第二设备目录为device/system/apk。

对于可卸载的应用程序,即便该可卸载的应用程序的安装文件中存在库文件,也无需将库文件单独存储于独立的文件夹中,终端系统即可识别该库文件以完成整个可卸载的应用程序的安装文件的加载。因此,将可卸载的应用程序的安装文件全部拷贝至第三设备目录下,该第三设备目录为device/data。

步骤s220,设置目标目录,所述目标目录的结构与所述设备目录的结构一致。

该目标目录为可卸载的应用程序和不可卸载的应用程序实际需安装的位置,且为了应用程序的安装更为便捷,该目标目录的结构与设备目录的结构一致。具体为:对于不可卸载的应用程序在设备目录中的结构为device/system/lib和device/system/apk,则对应的不可卸载的应用程序的目标目录的结构设置为/system/lib和/system/app。对于可卸载的应用程序在设备目录中的结构为device/data,则对应的可卸载的应用程序的目标目录的结构设置为/data/app。

步骤s230,检测所述设备目录是否存在。

在进行应用程序的预装之前,即将应用程序在设备目录中的安装文件复制于目标目录下之前,需先检测该设备目录是否存在,若该设备目录不存在,表明不需要进行应用程序的预装。该检测设备目录是否存在的具体方式为:调用if[!-d"device/system||!-d"device/data"]判断device/system目录和device/data目录是否存在,即判断不可卸载的应用程序和可卸载的应用程序对应的设备目录是否存在。

步骤s240,检测所述设备目录下是否存在待安装的应用程序的安装文件。

若所述设备目录存在,则进一步检测该设备目录下是否存在应用程序的安装文件,若该设备目录中不存在安装文件,则表明不需要安装。该设备目录下是否存在安装文件的检测方式具体为:if[-f"device/system"||-f"device/data"]。

步骤s250,当所述设备目录存在且所述设备目录下存在待安装的应用程序的安装文件,则将所述设备目录下的安装文件复制于所述目标目录下。

对于不可卸载的应用程序,通过在脚本文件init.rc写入脚本命令cp-rfdevice/*/system,以实现将device目录下的所有文件强复制于system目录下。其中,cp表示复制操作,-rf表示强制和覆盖操作,device/*/system表示将device目录下的所有文件强复制于system目录下,也就是将设备目录下的安装文件复制于目标目录下。由于对于不可卸载的应用程序,其设备目录和目标目录的结构完全一致,则无需单独对apk安装文件和库文件对应的目录进行单独的处理,即可完成安装文件的复制。

对于可卸载的应用程序,通过在脚本文件init.rc中写入脚本命令cp-rfdevice/data/*/data/app,以实现将device/data目录下的文件拷贝至data/app目录下,即将位于设备目录下的可卸载的应用程序的安装文件拷贝至目标目录下。

步骤s260,执行所述目标目录下的安装文件,以使得待安装的应用程序完成安装。

在终端系统启动的时候执行脚本文件init.rc中关于可卸载的应用程序和不可卸载的应用程序的复制命令,将可卸载的应用程序和不可卸载的应用程序的安装文件从设备目录复制于目标目录,同时执行目标目录下的安装文件,以将可卸载的应用程序和不可卸载的应用程序分别安装于目标位置,以完成应用程序的安装。

步骤s270,将所述全局变量由初始值第二值设置为第一值。

该全局变量设置有两个值,包括第一值和第二值,其中第一值表征所述应用程序已经安装,第二值表征所述应用程序未安装。当可卸载的应用程序和不可卸载的应用程序未进行安装时,该全局变量为初始值第二值,当该可卸载的应用程序和不卸载的应用程序安装后,将该全局变量由初始值第二值设置为第一值,表明应用程序已经安装,不必重复安装。该全局变量设置的目的在于,由于每次启动终端系统时,脚本文件都将执行一次,即每次都会进行应用程序的预装,为了避免应用程序的重复预装,则通过设置全局变量来进行区分。

步骤s280,检测预设的全局变量,所述全局变量包括第一值和第二值,所述第一值表征所述应用程序已经安装,该第二值表征所述应用程序未安装。

每次启动终端系统时,将首先进行全局变量的检测,以判断是否进行过应用程序的预装。

步骤s281,若所述全局变量的值为第一值,则调取所述设备目录中的其中一个文件与所述目标目录中对应的一个文件比较,若一致,表征所述应用程序已经安装且未被修改,无需重新安装,若不一致,则需重新安装。

若所述全局变量的值为第一值,则表明该应用程序已经安装过,则进一步调取设备目录中的其中一个文件与目标目录中对应的一个文件比较,若一致,则表征该应用程序已经安装且未被修改,无需重新安装。若不一致,或是文件不存在,则表明该目标目录中的文件被修改或未安装,则需重新安装。较优地,选取不可卸载的应用程序的设备目录中的其中一个文件与目标目录中对应的文件进行比较,因为不可卸载的应用程序不能卸载,而可卸载的应用程序被用户卸载后无法判定。

步骤s282,若所述全局变量的值为第二值,则需对待安装的应用程序进行安装。

若所述全局变量的值为第二值,则表明该应用程序未安装,则需对待安装的应用程序进行安装。

请参照图4,是本发明实施例提供的一种自动预装应用程序的装置100的功能模块示意图,该自动预装应用程序的装置100包括拷贝模块110、设置模块120、第一检测模块130、复制模块140、执行模块150以及第二检测模块160,其中,

拷贝模块110,用于将待安装的应用程序的安装文件拷贝至预设置的设备目录下。

在本发明实施例中,步骤s110~s113和s210可以由拷贝模块110执行。

设置模块120,用于设置目标目录,所述目标目录的结构与所述设备目录的结构一致。

在本发明实施例中,步骤s120和步骤s220可以由设置模块120执行。

第一检测模块130,用于检测所述设备目录是否存在,且检测所述设备目录下是否存在待安装的应用程序的安装文件。

在本发明实施例中,步骤s230和s240可以由第一检测模块130执行。

复制模块140,用于将所述设备目录下的安装文件复制于所述目标目录下。

在本发明实施例中,步骤s130和步骤s250可以由复制模块140执行。

执行模块150,用于执行所述目标目录下的安装文件,以使得待安装的应用程序完成安装。

在本发明实施例中,步骤s140和s260可以由执行模块150执行。

第二检测模块160,用于检测预设的全局变量,所述全局变量包括第一值和第二值,所述第一值表征所述应用程序已经安装,所述第二值表征所述应用程序未安装。

在本发明实施例中,步骤s270~s282可以由第二检测模块160执行。

由于在自动预装应用程序的方法部分已经详细描述,在此不再赘述。

综上所述,本发明实施例提供的一种自动预装应用程序的方法及装置,该自动预装应用程序的方法及装置应用于终端,该自动预装应用程序的方法包括:将待安装的应用程序的安装文件拷贝至预设置的设备目录下,设置于设备目录结构一致的目标目录,将所述设备目录下的安装文件复制于目标目录下,执行目标目录下的安装文件,即可完成待安装应用程序的安装。通过本方案实现待安装应用程序的自动安装,以极大地提高了安装效率,减少了人工操作的繁琐。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1