Java应用程序的安装方法和终端设备的制作方法

文档序号:6354325阅读:179来源:国知局
专利名称:Java应用程序的安装方法和终端设备的制作方法
技术领域
本发明涉及通信技术,特别地,涉及一种JAVA应用程序的安装方法和使用该方法 的终端设备。
背景技术
JAVA是一种常用的实现跨平台应用的技术,其可以在不同的操作系统的设备上以 非常低的成本进行跨界应用,因此被广泛地应用在移动通信领域,比如移动通信终端设备, 如移动电话、个人数字助理(Personal Digital Assistant, PDA)和汽车导航系统等。JAVA平台是为终端设备提供的JAVA语言平台,其通常由JAVA虚拟机(JAVA Virtual Machine)禾口 JAVA 应用编程接口 (Application Programming Interface,API)构 成。通常,在终端设备的操作系统基础上安装JAVA平台之后,JAVA应用程序便可该终端设 备的操作系统进行运行,由此,JAVA应用程序只通过一次编译,就可以在各种系统中运行。J2ME (Java 2 Micro Edition)是JAVA 2应用在移动小型设备的一种基础技术规 范,其可实现将JAVA语言所具有的与平台无关的特性移植到如移动终端设备等小型电子 设备,以允许移动终端设备之间共享应用程序。J2ME规范的规划出发点是,由于设备是移动 小型设备,故同一时刻只能运行同一个JAVA应用程序。由于技术诞生早期没有考虑应用程 序的多实例需求,所以现有技术无法实现通过一个安装程序在同一台设备上安装并运行多 个应用程序实例。不过,随着JAVA技术在移动终端设备的普及应用,上述在终端设备上通过一个安 装程序来安装并运行多个应用程序实例成为一种需求,比如在即时通信业务应用上,用户 可能希望有同时运行和登陆多个账户,而由于JAVA J2ME规范的限制,现有技术的JAVA虚 拟机并无法实现上述需求。

发明内容
针对上述问题,有必要提供一种可实现在同一台设备安装并运行多个应用程序示 例的JAVA应用程序安装方法,同时有必要提供一种可实现安装并运行多个应用程序示例 的终端设备。本发明提供的JAVA应用程序的安装方法包括判断JAVA应用程序是否已经安装; 如果已经安装所述JAVA应用程序,复制所述JAVA应用程序的安装文件的副本,并对所述安 装文件的副本中的应用程序标识值进行修改,以使其与已经安装的JAVA应用程序所对应 的标识值不同;利用修改后的安装文件副本进行所述JAVA应用程序的安装。所述应用程序标识值为所述安装文件中用于对所述JAVA应用程序进行唯一标识 的应用程序名称参数的值。所述修改后的副本中的应用程序标识值为“参数值-编号”格式,其中参数值为所 述JAVA应用程序的安装文件中的应用程序名称参数的值,所述编号为所述副本所对应的编号。
所述对安装文件的副本中的应用程序标识值进行修改的步骤包括根据已经安装的所述JAVA应用程序的个数和使用过的编号,为准备安装的JAVA 应用程序指定一个不同的编号;将所述安装文件副本中的应用程序名称参数添加编号后缀,其中所述编号后缀为 所述指定的编号。所述判断JAVA应用程序是否已经安装的步骤包括从所述JAVA应用程序的安装文件获取所述应用程序名称参数;根据所述应用程序名称参数,判断是否有同名且同版本号的JAVA应用程序安装 在本机,如果是,则判断出所述JAVA应用程序已经安装在本机。具体地,所述JAVA应用程序的安装方法还包括在复制所述JAVA应用程序的安装文件的副本之前,通过显示信息提示用户选择 是否进行影子实例的安装;在判断JAVA应用程序是否已经安装之前,对所述JAVA程序的安装文件中的签名 信息进行合法性校验,并在通过校验之后记录所述签名信息;并且,在利用修改后的安装文 件副本进行所述JAVA应用程序的安装过程中,采用所述记录的签名信息。本发明提供的终端设备包括JAVA应用程序安装模块,其用于判断JAVA应用程序 是否已经安装,在已经安装所述JAVA应用程序时复制所述JAVA应用程序的安装文件的副 本,并对所述安装文件的副本中的应用程序标识值进行修改,以使其与已经安装的JAVA应 用程序所对应的标识值不同,并且利用修改后的安装文件副本进行所述JAVA应用程序的 安装;JAVA应用程序运行模块,其用于执行所述JAVA应用程序安装模块210安装的JAVA应 用程序。具体地,所述JAVA应用程序安装模块包括用于判断JAVA应用程序是否已经安装 的判断子模块,其中所述判断子模块包括参数获取单元,用于从所述JAVA应用程序的安装文件获取作为所述JAVA应用程 序标识值的应用程序名称参数;判断单元,用于根据所述应用程序名称参数判断是否有“同名且同版本号”的JAVA 应用程序安装在所述终端设备,如果是,则判断出所述JAVA应用程序已经安装在所述终端 设备。具体地,所述修改后的安装文件副本中的应用程序标识值为“参数值-编号”格 式,其中参数值为所述JAVA应用程序的安装文件中的应用程序名称参数的值,所述编号为 所述副本所对应的编号,并且所述JAVA应用程序安装模块还包括用于对所述安装文件的 副本中的应用程序标识值进行修改的参数修改子模块,其中所述参数修改子模块包括查找单元,用于查找已经安装的所述JAVA应用程序的个数及使用过的编号,并根 据已经安装的所述JAVA应用程序的个数和使用过的编号,为准备安装的JAVA应用程序指 定一个不同的编号;参数修改单元,用于将所述安装文件副本中的应用程序名称参数添加编号后缀, 其中所述编号后缀为所述指定的编号在本发明提供的方法和终端设备中,通过在JAVA应用程序的安装过程中修改作 为该JAVA应用程序的标识值,以使其与已经安装的JAVA应用程序所对应的标识值不同,从而避开J2ME规范的技术限制,实现安装并运行一个新的应用程序实例,从而允许在同一台 终端设备安装并运行多个运用程序示例,解决现有技术存在的无法在同一台设备上安装并 运行多个应用程序实例的问题。为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举一实施例,并 配合所附图式,作详细说明如下。


图1为本发明提供的JAVA应用程序的安装方法一种实施例的流程图。图2为本发明提供的终端设备一种实施例的结构示意图。
具体实施例方式为解决现有技术的存在的无法通过一个JAVA安装程序在同一台终端设备上安装 并运行多个实例的的问题,本发明首先提供了一种JAVA应用程序的安装方法,其通过在对 J2ME技术规范的安装过程进行扩展,在发现需要安装和运行重复应用程序实例的时候,自 动制作原始安装文件的副本并对其中的相关参数进行自动修改,然后再按照原安装文件的 权限属性进行新的应用程序实例的安装,从而实现在同一台终端设备上安装并运行多个应 用程序实例。J2ME规范要求一个JAVA应用程序,比如移动信息设备小程序 (Mobilelnformation Devices applet, MIDlet)的唯一标识是该应用程序名称参数,即 "MIDlet-Name"参数,其来自于JAVA应用程序的安装文件,且该参数通常采用明文字符串 写在“.jad文件”,或者同时写在“.jar文件包”里的“.\META_INF\”目录内的MANIFEST. MF文件里。因此,本发明提供的实施例通过在JAVA应用程序的安装过程中改变上述参数 值,从而避开J2ME规范的技术限制,实现安装并运行一个新的应用程序实例,为便于理解, 以下将该新的应用程序实例称为影子实例。请参阅图1,为本发明提供的JAVA应用程序的安装方法一种实施例的流程图。所 述JAVA应用程序安装方法可以包括在JAVA应用程序的安装开始之后,首先执行步骤Si。步骤Si,检查安装文件的签名信息。签名信息(即签名证书来源)可以决定该 JAVA应用程序安装的合法性以及安装之后该JAVA应用程序在设备系统资源中进行应用的 权限水平。该安装文件可以包括“.jar文件”和“.jad文件,在步骤Sl中,如果“.jad文 件”不存在或者“.jad文件”存在但没有签名信息,该JAVA应用程序在安装后被当作不被 信任的程序对待;如果该安装文件的签名信息有错误,则停止安装;如果安装文件的签名 信息正确,即该安装文件的签名信息通过J2ME的合法性校验原则,则可以继续安装转至步 马聚S2 ο步骤S2,如果通过签名信息校验,记录该签名信息,包括签名的级别等,并转自步 马聚S3 ο步骤S3,根据安装文件的“MIDlet-Name”参数的值,检查该JAVA应用程序是否已 经在本机安装。在步骤S3中,首先可以对“.jad文件”进行解析,或者,对“.jar文件包”里 的“.\META-INF\”目录内的MANIFEST. MF文件进行解析,以识别出该“.jad文件”或“.jar
6文件包”中的“MIDlet-Name”参数,并获取所述“MIDlet-Name”参数的值;接着,根据所述“MIDlet-Name”参数的值,判断是否有“同名且同版本号”的JAVA 应用程序已经安装在本设备中。如果没有,则转至步骤S9,按照J2ME规范的标准安装过程 完成该JAVA应用程序的安装,具体安装过程可以参照J2ME规范的描述,以下不再赘述。如 果存在“同名且同版本号”的JAVA应用程序已经安装在本设备中,则转至步骤S4。步骤S4,如果该JAVA应用程序已经在本机安装,比如,如果在步骤S3中判断出存 在“同名且同版本”的JAVA程序已经安装在本设备中,提示用户选择是覆盖现有安装实例 还是进行影子实例的安装(即安装一个新的实例)。在具体实施例中,可通过显示信息提示 用户通过操作系统进行选择。如果用户选择覆盖安装,则转至步骤S9,按照J2ME规范的标 准安装过程完成该JAVA应用程序的安装。如果用户选择进行影子实例的安装,则转自步骤 S5。步骤S5,如果用户选择进行影子实例的安装,则复制一个安装文件的副本。在具体 实施例中,如果用户通过系统的信息提示选择进行影子实例的安装,系统将接收到相应的 操作指令,在这种情况下,可以在内存或文件系统进行安装文件副本的复制,即在该内存或 文件系统中拷贝“.jar文件”和“.jad文件”,并转自步骤S6。步骤S6,修改安装文件副本中的“MIDlet-Name”参数的值,以使该副本中的 “MIDlet-Name”参数的值与已经安装的实例所对应的“MIDlet-Name”参数的值不同。比如, 在一种实施例中,步骤S6可以包括以下子步骤首先,查找已经安装的影子实例的个数以及所述影子实例使用过的编号;接着,根据已经安装的影子实例的个数和使用过的编号,为准备安装的新的影子 实例指定一个不同的编号,比如,可以将已经使用过的最大编号加1,作为准备进行安装的 新的影子实例的编号,或者,该指定的编号也可作为该安装文件副本的编号;然后,将该安装文件副本中的“MIDlet-Name”参数添加编号后缀,即将该副本中的 "MIDlet-Name"参数替换为“参数值-编号”,由此,每个影子实例的“MIDlet-Name”参数的 值各不相同,其分别为Ν-1、Ν-2、Ν-3等,其中N表示原安装文件中的“MIDlet-Name”参数的 值。步骤S7,利用修改后的安装文件副本进行JAVA应用程序的安装。由于在该修改后 的安装文件副本中,作为该JAVA应用程序唯一标识的“MIDlet-Name”参数的值已经被修改 成与已经安装的应用实例所对应的“MIDlet-Name”参数值不同,因此可以避开J2ME规范的 技术限制,从而在不违背J2ME规范的前提下,实现安装并运行一个新的实例。另外,在步骤 S7的安装过程中,不需要再次校验签名的有效性,而在安装过程采用已经记录的签名进行。步骤S8,向用户显示该JAVA应用程序安装的结果,并在完成安装之后删除上述使 用过的安装文件副本,以释放存储空间。在本发明上述实施例提供的JAVA应用程序的安装方法中,通过在JAVA应用程序 的安装过程中修改作为该JAVA应用程序唯一标识的“MIDlet-Name”参数的值,从而避开 J2ME规范的技术限制,实现安装并运行一个新的实例,从而解决现有技术存在的问题。基于上述JAVA应用程序的安装方法,本发明还进一步提供一种终端设备。请参阅 图2,其为本发明提供的终端设备一种实施例的结构示意图。所述终端设备可以为移动终端 设备,其可采用上述JAVA应用程序的安装方法进行JAVA应用程序的安装,并且,所述终端设备可以包括JAVA应用程序安装模块210,其用于判断JAVA应用程序是否已经安装在所述终端 设备200,在已经安装所述JAVA应用程序时复制所述JAVA应用程序的安装文件的副本,并 对所述安装文件的副本中的应用程序标识值进行修改,以使其与已经安装的JAVA应用程 序所对应的标识值不同,并且利用修改后的安装文件副本进行所述JAVA应用程序的安装;JAVA应用程序执行模块220,其用于执行所述JAVA应用程序安装模块210安装的 JAVA应用程序。其中,所述JAVA应用程序安装模块210可以包括判断子模块211,用于判断所述JAVA应用程序是否已经安装在所述终端设备 200 ;复制子模块212,用于在判断子模块211判断出所述终端设备200已经安装所述 JAVA应用程序时复制所述JAVA应用程序的安装文件的副本;参数修改子模块213,用于对所述复制子模块212提供的安装文件的副本中的应 用程序标识值进行修改;程序安装子模块214,用于利用修改后的安装文件副本在所述终端设备200中进 行所述JAVA应用程序的安装。在一种实施例中,所述判断子模块211可以包括参数获取单元201,用于从所述JAVA应用程序的安装文件获取作为所述JAVA应用 程序标识值的“MIDlet-Name”参数;判断单元202,用于根据所述“MIDlet-Name”参数判断是否有“同名且同版本号” 的JAVA应用程序安装在所述终端设备,如果是,则判断出所述JAVA应用程序已经安装在所 述终端设备;在一种实施例中,所述参数修改子模块213可以包括查找单元203,用于查找已经安装的所述JAVA应用程序的个数及使用过的编号, 并根据已经安装的所述JAVA应用程序的个数和使用过的编号,为准备安装的JAVA应用程 序指定一个不同的编号;参数修改单元204,用于将所述安装文件副本中的“MIDlet-Name”参数添加编号 后缀,其中所述编号后缀为所述指定的编号。应当理解,图2所示的各个功能模块和功能单元均可以为软件模块,其可以在所 述终端设备200内部的处理器实现,以执行上述JAVA应用程序的安装方法。并且,除了图2 所示的模块或功能单元之外,所述终端设备200还可以具有其他功能模块或功能单元来实 现上述JAVA应用程序的安装方法中其他步骤。另外,图2所示的功能模块或功能单元所执 行的具体功能可以参照述JAVA应用程序的安装方法的相关步骤的技术细节,并且图2所示 的功能模块还可能具有用于实现所述技术细节的其他子模块或者功能单元。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专 业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许 更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明 的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方 案的范围内。
权利要求
1.一种JAVA应用程序的安装方法,其特征在于,包括判断JAVA应用程序是否已经安装;如果已经安装所述JAVA应用程序,复制所述JAVA应用程序的安装文件的副本,并对所 述安装文件的副本中的应用程序标识值进行修改,以使其与已经安装的JAVA应用程序所 对应的标识值不同;利用修改后的安装文件副本进行所述JAVA应用程序的安装。
2.根据权利要求1所述的方法,其特征在于,所述应用程序标识值为所述安装文件中 用于对所述JAVA应用程序进行唯一标识的应用程序名称参数的值。
3.根据权利要求2所述的方法,其特征在于,所述修改后的副本中的应用程序标识值 为“参数值-编号”格式,其中参数值为所述JAVA应用程序的安装文件中的应用程序名称 参数的值,所述编号为所述副本所对应的编号。
4.根据权利要求3所述的方法,其特征在于,所述对安装文件的副本中的应用程序标 识值进行修改的步骤包括根据已经安装的所述JAVA应用程序的个数和使用过的编号,为准备安装的JAVA应用 程序指定一个不同的编号;将所述安装文件副本中的应用程序名称参数添加编号后缀,其中所述编号后缀为所述 指定的编号。
5.根据权利要求2所述的方法,其特征在于,所述判断JAVA应用程序是否已经安装的 步骤包括从所述JAVA应用程序的安装文件获取所述应用程序名称参数;根据所述应用程序名称参数,判断是否有同名且同版本号的JAVA应用程序安装在本 机,如果是,则判断出所述JAVA应用程序已经安装在本机。
6.根据权利要求1所述的方法,其特征在于,还包括在复制所述JAVA应用程序的安 装文件的副本之前,通过显示信息提示用户选择是否进行影子实例的安装。
7.根据权利要求1所述的方法,其特征在于,还包括在判断JAVA应用程序是否已经 安装之前,对所述JAVA程序的安装文件中的签名信息进行合法性校验,并在通过校验之后 记录所述签名信息;并且,在利用修改后的安装文件副本进行所述JAVA应用程序的安装过 程中,采用所述记录的签名信息。
8.—种终端设备,其特征在于,包括JAVA应用程序安装模块,其用于判断JAVA应用程序是否已经安装,在已经安装所述 JAVA应用程序时复制所述JAVA应用程序的安装文件的副本,并对所述安装文件的副本中 的应用程序标识值进行修改,以使其与已经安装的JAVA应用程序所对应的标识值不同,并 且利用修改后的安装文件副本进行所述JAVA应用程序的安装;JAVA应用程序运行模块,其用于执行所述JAVA应用程序安装模块安装的JAVA应用程序。
9.如权利要求8所述的终端设备,其特征在于,所述JAVA应用程序安装模块包括用于 判断JAVA应用程序是否已经安装的判断子模块,所述判断子模块包括参数获取单元,用于从所述JAVA应用程序的安装文件获取作为所述JAVA应用程序标 识值的应用程序名称参数;判断单元,用于根据所述应用程序名称参数判断是否有“同名且同版本号”的JAVA应 用程序安装在所述终端设备,如果是,则判断出所述JAVA应用程序已经安装在所述终端设备。
10.如权利要求9所述的终端设备,其特征在于,所述修改后的安装文件副本中的应用 程序标识值为“参数值-编号”格式,其中参数值为所述JAVA应用程序的安装文件中的应 用程序名称参数的值,所述编号为所述副本所对应的编号,并且所述JAVA应用程序安装模 块还包括用于对所述安装文件的副本中的应用程序标识值进行修改的参数修改子模块,所 述参数修改子模块包括查找单元,用于查找已经安装的所述JAVA应用程序的个数及使用过的编号,并根据已 经安装的所述JAVA应用程序的个数和使用过的编号,为准备安装的JAVA应用程序指定一 个不同的编号;参数修改单元,用于将所述安装文件副本中的应用程序名称参数添加编号后缀,其中 所述编号后缀为所述指定的编号。
全文摘要
本发明提供一种JAVA应用程序的安装方法和终端设备,其中所述安装方法包括判断JAVA应用程序是否已经安装;如果已经安装所述JAVA应用程序,复制所述JAVA应用程序的安装文件的副本,并对所述安装文件的副本中的应用程序标识值进行修改,以使其与已经安装的JAVA应用程序所对应的标识值不同;利用修改后的安装文件副本进行所述JAVA应用程序的安装。采用本发明提供的JAVA应用程序的安装方法可以在终端设备已经安装JAVA应用程序的情况下安装并运行一个新的应用程序实例,从而实现在同一台终端设备安装并运行多个运用程序示例,解决现有技术存在的无法在同一台设备上安装并运行多个应用程序实例的问题。
文档编号G06F9/445GK102103510SQ20111003565
公开日2011年6月22日 申请日期2011年2月10日 优先权日2011年2月10日
发明者郑瑜 申请人:惠州Tcl移动通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1