一种动态修改手机软件包的方法和装置的制作方法

文档序号:7705937阅读:181来源:国知局
专利名称:一种动态修改手机软件包的方法和装置的制作方法
技术领域
本发明涉及手机软件技术领域,尤其涉及一种动态修改手机软件包的方 法和装置。
背景技术
随着手机软件的发展,要求对手机游戏包等手机软件包能够实现动态地 修改,以满足改变手机游戏等手机软件展示效果的要求,或者,满足手机游 戏等手机软件升级及改变手机游戏等手机软件计费策略等要求。
下面以手机游戏包为例,说明当前动态修改手机软件包的方法。在目前
的手机游戏包中,较为常用的是kjava手机游戏包。kjava手机游戏包由扩展 名为jar的文件和扩展名为jad的文件组成。其中,jad文件是描述性文件, 包含有kjava游戏包中各个程序的大小、名称、类型、安装路径、版权等信 息、以及用户自定义的属性和属性值信息;jar文件包含游戏的程序文件以 及相关的图像和应用程序数据、以及mainfest.mf文件,mianfest.mf文件中 包含了 kjava游戏包中各个程序的名称、类型、版本等信息、以及用户自定 义属性和属性值信息。jad文件中的用户自定义属性和属性值一般与 mainfest.mf文件中的用户自定义属性和属性值相同。
所述用户自定义属性和属性值例如可以是游戏提示语、图片等,手机终 端可以根据用户自定义属性和属性值进行游戏展示。
当将kjava手机游戏包安装进手机终端时,如果通过jad文件来安装所 述kjava手机游戏包,则在手机终端中存储有kjava手机游戏包中的jad文件 和jar文件;如果通过jar文件来安装所述kjava手机游戏包,则在手机终端 中只存储有kjava手才几游戏包中的jar文件。
4kjava手才几游戏包中的的用户自定义属性和属性值可以由kjava手才几游 戏开发人员进行修改。其中,如果jad文件中的用户自定义属性和属性值与 mainfest.mf文件中的用户自定义属性和属性值不同,则以jad文件中的用户
自定义属性和属性值为准。
由于kjava手机游戏包以其jad文件中的用户自定义属性和属性值为准, 因此,目前在修改kjava手机游戏包中的用户自定义属性和属性值信息时, 均是通过只修改kjava手机游戏包中的jad文件来实现的。
现有这种修改kjava手机游戏包中的用户自定义属性和属性值的方法存 在的问题是尽管jad文件中的用户自定义属性和属性值信息已经被修改了 , 但是,如果kjava手机游戏包是通过jar文件安装到手机终端上的,由于手 机终端只下载jar文件而并不下载jad文件,因此,手机终端仍然根据jar文 件中原来的用户自定义属性和属性值展示kjava手机游戏包,也就是说,现 有通过l务改jad文件来修改kjava手^/L游戏包中的属性和属性值信息的方法 不能起到修改kjava手机游戏包展示效果的作用。
另外,kjava手机游戏包中除了包含用于实现游戏逻辑的游戏逻辑模块 外,通常还包含其他待升级模块,即后续需要升级的模块,例如,用于对手 机游戏进行计费的计费模块、用于登录手机游戏的登录模块、用于接入到互 联网的联网模块等,这些待升级模块的逻辑一般由手机游戏开发商以外的公 司,例如手机游戏运营公司来制定。
目前,kjava手机游戏包的具体实现方法是由手机游戏运营公司编写 待升级模块,将编写好的待升级模块提供给手机游戏开发商,并向手机游戏 开发商讲解所述待升级模块的具体逻辑,手机游戏开发商根据待升级模块的 具体逻辑,在kjava手机游戏包中需要加入待升级模块的地方,加入用于实 现待升级模块的代码,然后将用于实现游戏逻辑模块的代码和用于实现待升 级模块的代码进行混淆并打包,生成kjava手机游戏包。
当由于待升级模块需要升级,从而需要修改kjava手机游戏包时,手机 游戏运营公司向手机游戏开发商讲解待升级模块新的实现逻辑,由手机游戏开发商根据所述新的实现逻辑对kjava手机游戏包进行修改。
可见,现有这种修改kjava手机游戏包中待升级模块的方法,需要手机 游戏运营公司与手机游戏开发商沟通,而一般情况下,手机游戏运营公司通 常会与多个手机游戏开发商合作,这样, 一旦需要更新待升级模块,则手机 游戏运用公司与手机游戏开发商进行沟通的工作量很大,而且,由各个手机
了大量人力物力资源的浪费。
由上述分析可见,现有方法不能有效地修改手机游戏包,或者修改所需 工作量过大,不够方便。

发明内容
有鉴于此,本发明实施例的目的在于提供一种动态修改手机软件包的方 法,以使当通过jar文件来安装kjava手机软件包时,仍然能够根据新的用户自 定义属性和属性值信息来展示手机游戏等手机软件,和/或,减小修改手机游戏 包等手机软件包中的待升级模块时,手机软件开发商和手机软件运营商相互之 间的沟通的工作量,使得修改手机软件包变得有效而方便。
为达到上述目的,本发明实施例的技术方案具体是这样实现的
一种动态修改手机软件包的方法,包括修改kjava手机软件包中jad文 件中的属性和/或属性值信息,
所述kjava手机软件包为通过编写待升级模块的接口函数,在kjava手机 软件包中需要加入所述待升级模块的地方加入所述接口函数,将所述kjava手 机软件包中除所述接口函数以外的部分进行混淆打包得到;
该方法还包括
解压kjava手机软件包中的jar文件,修改所述jar文件中的属性和属性值 信息,对修改后的jar文件进行打包;修改jad文件中描述所述jar文件的信息;
解压所述kjava手机软件包,查找到待升级模块的接口函数,将用于实现 所述待升级4莫块的代码添加进所述kjava手机软件包中,并对添加进所述待升级才莫块的代码的kjava手才几软件包进行混淆并打包。
一种动态修改手机软件包的方法,包括修改kjava手机软件包中jad文 件中的属性和/或属性值信息,该方法还包括
解压kjava手机软件包中的jar文件,修改所述jar文件中的属性和属性值 信息,对修改后的jar文件进行打包;修改jad文件中描述所述jar文件的信息。
一种动态修改手机软件包的方法,所述kjava手机软件包为通过编写待 升级模块的接口函数,在kjava手机软件包中需要加入所述待升级模块的地方 加入所述接口函数,将所述kjava手机软件包中除所述接口函数以外的部分进 行混淆打包得到;
该方法包括解压所述kjava手机软件包,查找到待升级模块的接口函数, 将用于实现所述待升级才莫块的代码添加进所述kjava手机软件包中,并对添加 进所述待升级;溪块的代码的kjava手机软件包进行混淆并打包。
可见,本发明提供的动态修改手机软件包的方法使得修改手机软件包变得 有效而方便,具体地, 一方面,在修改用户自定义属性和属性值信息时,不仅 修改kjava手机软件包中jad文件中的用户自定义属性和属性值信息,还修改jar 文件中的用户自定义属性和属性值信息,因此,即便kjava手机软件包是通过 jar文件安装的,其仍然能够根据新的用户自定义属性和属性值信息来展示手机 游戏,能够实现有效修改手机软件包;另一方面,在修改待升级模块时,由于 kjava手机软件包是通过编写待升级模块的接口函数,在kjava手机软件包中需 要加入所述待升级模块的地方加入所述接口函数,将所述kjava手机软件包中 除所述接口函数以外的部分进行混淆打包得到的,用于实现所述待升级模块的 代码是通过解压所述kjava手机软件包,查找到待升级模块的接口函数,并对 应该接口函数添加进kjava手机软件包,然后进行混淆打包添加进kjava手机软 件包的,因此,在修改kjava手机软件包中的待升级模块时,只需要对kjava手 机软件包进行解压,查找到待升级模块的接口函数,修改该接口函数对应的代 码,并对修改后的kjava手机软件包重新混淆并打包即可,这些工作可以由手 机软件运营公司独自完成,其只需要向手机软件开发商提供待升级模块的接口
7函数,在初始开发kjava手机软件包和日后修改kjava手机软件包时,都无需向 手机软件开发商讲解手机游戏模块的具体逻辑,从而减小了修改手机软件包中 待升级模块时,手机软件开发商和手机软件运营商相互之间的沟通的工作量, 能够实现更加方便地修改手机软件包。


图l是本发明动态修改kjava手机游戏包中的用户自定义属性和/或属性 值信息的方法流程图。
具体实施例方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举 实施例,对本发明进一步详细i兌明。
下面以动态修改kj ava手才几游戏包为例,对动态 <爹改kjava手积4欠件包 的方法进行说明,具体地,从动态修改kjava手机游戏包中的用户自定义属 性和/或属性值信息、以及待升级模块两个方面,对动态修改kjava手机游戏 包的方法进行说明。对动态修改除kjava手机游戏包以外的其他kjava手机 游戏包的方法,不再喉文重复4又迷。
在动态修改kjava手机游戏包中的用户自定义属性和/或属性值信息时, 本发明提出,不仅修改kjava手机游戏包中jad文件中的用户自定义属性和/ 或属性值信息,还修改jar文件中的用户自定义属性和/或属性值信息。
图l是本发明动态修改kjava手机游戏包中的用户自定义属性和/或属性 值信息的方法流程图,如图1所示,该方法包括
步骤101,解压kjava手机游戏包中的jar文件。
步骤102,修改所述jar文件中的属性和属性值信息。
通常,jar文件中的用户自定义属性和/或属性值信息存储在jar文件中的 mainfest.mf文件中,因此,修改jar文件中的用户自定义属性和/或属性值信 息是指修改mainfest.mf文件中存储的属性和属性值信息。步骤103,对修改后的jar文件进4于打包。 步骤104,修改jad文件中的jar文件大小等描述信息。 由于对jar文件进行了修改,因此jad文件中用于描述jar文件的信息也要 进4亍相应的^奮改。
另外,为了提高修改手机游戏包的安全性,本发明提出,还可以在修改 所述jar文件中的属性和属性值信息之后,对修改后的jar文件进行打包之前, 对修改后的属性和属性值信息进行加密处理,相应地,每次修改所述jar文件中 的属性和属性值信息之前,都对所述属性和属性值信息进行解密处理。
对于动态修改kjava手机游戏包中的待升级模块的方法,本发明提出, 在实现kjava手机游戏包时,由手机游戏运营公司向手机游戏开发商提供待 升级模块的接口函数,手机游戏开发商在kjava手机游戏数据包中需要加入 待升级模块的地方,加入待升级模块的接口函数,将所述kjava手机游戏包 中除所述接口函数以外的部分进行混淆,然后再打包,至此,手机游戏开发商 实现了 kjava手机游戏包的开发。手机游戏运营公司根据待升级模块的具体实 现逻辑,来实现待升级模块的代码,然后解压手机游戏开发商所实现的kjava 手机游戏包,查找到待升级模块的接口函数,将用于实现所述待升级模块的 代码添加进所述kjava手机游戏包中,并对添加进所述待升级模块的代码的 kjava手机游戏包进行混淆并打包。在需要对待升级模块的具体实现逻辑进行修 改时,从已经添加进所述待升级模块的代码的kjava手机游戏包中查找待升级 模块的接口函数,修改该接口函数对应的代码,并对修改后的kjava手机游戏 包重新混淆并打包。
可见,本发明提供的动态修改手机游戏包的方法能够方便有效地修改手机 游戏。具体地, 一方面,在修改用户自定义属性和属性值信息时,不仅修改kjava 手机游戏包中jad文件中的用户自定义属性和属性值信息,还修改jar文件中的 用户自定义属性和属性值信息,因此,即便kjava手机游戏包是通过jar文件安 装的,其仍然能够根据新的用户自定义属性和属性值信息来展示手机游戏;另 一方面,在修改待升级模块时,由于只需要对kjava手机游戏包进行解压,查
9找到待升级模块的接口函数,修改该接口函数对应的代码,并对修改后的kjava 手机游戏包重新混淆并打包即可,这些工作可以由手机游戏运营公司独自完成, 其只需要向手机游戏开发商提供待升级模块的接口函数,在初始开发kjava手 机游戏包和日后修改kjava手机游戏包时,都无需向手机游戏开发商讲解手机 游戏模块的具体逻辑,从而减小了修改手机游戏包中待升级模块时,手机游戏 开发商和手才几游戏运营商相互之间的沟通的工作量。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护 范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等, 均应包含在本发明的保护范围之内。
权利要求
1、一种动态修改手机软件包的方法,其特征在于,该方法包括修改kjava手机软件包中jad文件中的属性和/或属性值信息,所述kjava手机软件包为通过编写待升级模块的接口函数,在kjava手机软件包中需要加入所述待升级模块的地方加入所述接口函数,将所述kjava手机软件包中除所述接口函数以外的部分进行混淆打包得到;解压kjava手机软件包中的jar文件,修改所述jar文件中的属性和属性值信息,对修改后的jar文件进行打包;修改jad文件中描述所述jar文件的信息;解压所述kjava手机软件包,查找到待升级模块的接口函数,将用于实现所述待升级模块的代码添加进所述kjava手机软件包中,并对添加进所述待升级模块的代码的kjava手机软件包进行混淆并打包。
2、 如权利要求l所述的方法,其特征在于,修改所述jar文件中的属性和 属性值信息包括修改所述jar文件中的mainfest.mf文件中存储的属性和属性值信息。
3、 如权利要求l所述的方法,其特征在于,该方法进一步包括 从已经添加进所述待升级模块的代码的kjava手机软件包中查找待升级模块的接口函数,修改该接口函数对应的代码,并对修改后的kjava手机软件包 重新混淆并打包。
4、 如权利要求1或2或3所述的方法,其特征在于,所述待升级模块包括 计费模块和/或登录模块和/或联网模块;所述计费模块,用于根据所述手机软件包的使用情况进行计费; 所述登录模块,用于登录所述手机软件包; 所述联网模块,用于接入到互联网。
5、 如权利要求1或2或3所述的方法,其特征在于,修改所述jar文件中的属性和属性值信息之前,该方法进一步包括对所述 属性和属性值信息进行解密处理;修改所述jar文件中的属性和属性值信息之后,对修改后的jar文件进行打 包之前,该方法进一步包括对修改后的属性和属性值信息进行加密处理。
6、 一种动态修改手机软件包的方法,包括修改kjava手机软件包中jad 文件中的属性和/或属性值信息,其特征在于,该方法还包括解压kjava手才几软件包中的jar文件,》f改所述jar文件中的属性和属性值 信息,对修改后的jar文件进行打包;修改jad文件中描述所述jar文件的信息。
7、 如权利要求6所述的方法,其特征在于,修改所述jar文件中的属性和 属性值信息包括修改所述jar文件中的mainfest.mf文件中存储的属性和属性值信息。
8、 一种动态修改手机软件包的方法,其特征在于,所述kjava手机软件包为通过编写待升级模块的接口函数,在kjava手机 软件包中需要加入所述待升级模块的地方加入所述接口函数,将所述kjava手 机软件包中除所述接口函数以外的部分进行混淆打包得到;该方法包括解压所述kjava手机软件包,查找到待升级模块的接口函数, 将用于实现所述待升级^t块的代码添加进所述kjava手机软件包中,并对添加 进所述待升级模块的代码的kjava手机软件包进行混淆并打包。
9、 如权利要求8所述的方法,其特征在于,该方法进一步包括 从已经添加进所述待升级模块的代码的kjava手机软件包中查找待升级模块的接口函数,修改该接口函数对应的代码,并对修改后的kjava手机软件包 重新混淆并打包。
10、 如权利要求8或9所述的方法,其特征在于,所述待升级模块包括 计费模块和/或登录模块;所述计费模块,用于根据所述手机软件包的使用情况进行计费; 所述登录模块,用于登录所述手机软件包。
全文摘要
本发明公开了一种动态修改手机软件包的方法,包括修改jad文件中的属性和/或属性值信息,所述kjava手机软件包为通过编写待升级模块的接口函数,在kjava手机软件包中需要加入所述待升级模块的地方加入所述接口函数,将所述kjava手机软件包中除所述接口函数以外的部分进行混淆打包得到;解压kjava手机软件包,修改jar文件中的属性和属性值信息,对修改后的jar文件进行打包;修改jad文件中描述所述jar文件的信息,查找到待升级模块的接口函数,将用于实现所述待升级模块的代码添加进所述kjava手机软件包中,并对kjava手机软件包进行混淆并打包。应用本发明能够方便有效地修改手机软件包。
文档编号H04M1/725GK101510918SQ20091012636
公开日2009年8月19日 申请日期2009年3月5日 优先权日2009年3月5日
发明者古振兴, 涛 周, 博 张, 江应鹏, 牛海防, 郑元坤, 宇 郭 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1