CN101510918A - 一种动态修改手机软件包的方法和装置 - Google Patents
一种动态修改手机软件包的方法和装置 Download PDFInfo
- Publication number
- CN101510918A CN101510918A CNA2009101263658A CN200910126365A CN101510918A CN 101510918 A CN101510918 A CN 101510918A CN A2009101263658 A CNA2009101263658 A CN A2009101263658A CN 200910126365 A CN200910126365 A CN 200910126365A CN 101510918 A CN101510918 A CN 101510918A
- Authority
- CN
- China
- Prior art keywords
- software package
- kjava
- module
- upgraded
- cellphone
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种动态修改手机软件包的方法,包括:修改jad文件中的属性和/或属性值信息,所述kjava手机软件包为:通过编写待升级模块的接口函数,在kjava手机软件包中需要加入所述待升级模块的地方加入所述接口函数,将所述kjava手机软件包中除所述接口函数以外的部分进行混淆打包得到;解压kjava手机软件包,修改jar文件中的属性和属性值信息,对修改后的jar文件进行打包;修改jad文件中描述所述jar文件的信息,查找到待升级模块的接口函数,将用于实现所述待升级模块的代码添加进所述kjava手机软件包中,并对kjava手机软件包进行混淆并打包。应用本发明能够方便有效地修改手机软件包。
Description
技术领域
本发明涉及手机软件技术领域,尤其涉及一种动态修改手机软件包的方法和装置。
背景技术
随着手机软件的发展,要求对***包等手机软件包能够实现动态地修改,以满足改变***等手机软件展示效果的要求,或者,满足***等手机软件升级及改变***等手机软件计费策略等要求。
下面以***包为例,说明当前动态修改手机软件包的方法。在目前的***包中,较为常用的是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文件。
kjava***包中的的用户自定义属性和属性值可以由kjava***开发人员进行修改。其中,如果jad文件中的用户自定义属性和属性值与mainfest.mf文件中的用户自定义属性和属性值不同,则以jad文件中的用户自定义属性和属性值为准。
由于kjava***包以其jad文件中的用户自定义属性和属性值为准,因此,目前在修改kjava***包中的用户自定义属性和属性值信息时,均是通过只修改kjava***包中的jad文件来实现的。
现有这种修改kjava***包中的用户自定义属性和属性值的方法存在的问题是:尽管jad文件中的用户自定义属性和属性值信息已经被修改了,但是,如果kjava***包是通过jar文件安装到手机终端上的,由于手机终端只下载jar文件而并不下载jad文件,因此,手机终端仍然根据jar文件中原来的用户自定义属性和属性值展示kjava***包,也就是说,现有通过修改jad文件来修改kjava***包中的属性和属性值信息的方法不能起到修改kjava***包展示效果的作用。
另外,kjava***包中除了包含用于实现游戏逻辑的游戏逻辑模块外,通常还包含其他待升级模块,即后续需要升级的模块,例如,用于对***进行计费的计费模块、用于登录***的登录模块、用于接入到互联网的联网模块等,这些待升级模块的逻辑一般由***开发商以外的公司,例如***运营公司来制定。
目前,kjava***包的具体实现方法是:由***运营公司编写待升级模块,将编写好的待升级模块提供给***开发商,并向***开发商讲解所述待升级模块的具体逻辑,***开发商根据待升级模块的具体逻辑,在kjava***包中需要加入待升级模块的地方,加入用于实现待升级模块的代码,然后将用于实现游戏逻辑模块的代码和用于实现待升级模块的代码进行混淆并打包,生成kjava***包。
当由于待升级模块需要升级,从而需要修改kjava***包时,***运营公司向***开发商讲解待升级模块新的实现逻辑,由***开发商根据所述新的实现逻辑对kjava***包进行修改。
可见,现有这种修改kjava***包中待升级模块的方法,需要***运营公司与***开发商沟通,而一般情况下,***运营公司通常会与多个***开发商合作,这样,一旦需要更新待升级模块,则***运用公司与***开发商进行沟通的工作量很大,而且,由各个***开发商分别独立地对其自身开发的kjava***包进行修改,也造成了大量人力物力资源的浪费。
由上述分析可见,现有方法不能有效地修改***包,或者修改所需工作量过大,不够方便。
发明内容
有鉴于此,本发明实施例的目的在于提供一种动态修改手机软件包的方法,以使当通过jar文件来安装kjava手机软件包时,仍然能够根据新的用户自定义属性和属性值信息来展示***等手机软件,和/或,减小修改***包等手机软件包中的待升级模块时,手机软件开发商和手机软件运营商相互之间的沟通的工作量,使得修改手机软件包变得有效而方便。
为达到上述目的,本发明实施例的技术方案具体是这样实现的:
一种动态修改手机软件包的方法,包括:修改kjava手机软件包中jad文件中的属性和/或属性值信息,
所述kjava手机软件包为:通过编写待升级模块的接口函数,在kjava手机软件包中需要加入所述待升级模块的地方加入所述接口函数,将所述kjava手机软件包中除所述接口函数以外的部分进行混淆打包得到;
该方法还包括:
解压kjava手机软件包中的jar文件,修改所述jar文件中的属性和属性值信息,对修改后的jar文件进行打包;修改jad文件中描述所述jar文件的信息;
解压所述kjava手机软件包,查找到待升级模块的接口函数,将用于实现所述待升级模块的代码添加进所述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手机软件包重新混淆并打包即可,这些工作可以由手机软件运营公司独自完成,其只需要向手机软件开发商提供待升级模块的接口函数,在初始开发kjava手机软件包和日后修改kjava手机软件包时,都无需向手机软件开发商讲解***模块的具体逻辑,从而减小了修改手机软件包中待升级模块时,手机软件开发商和手机软件运营商相互之间的沟通的工作量,能够实现更加方便地修改手机软件包。
附图说明
图1是本发明动态修改kjava***包中的用户自定义属性和/或属性值信息的方法流程图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
下面以动态修改kjava***包为例,对动态修改kjava手机软件包的方法进行说明,具体地,从动态修改kjava***包中的用户自定义属性和/或属性值信息、以及待升级模块两个方面,对动态修改kjava***包的方法进行说明。对动态修改除kjava***包以外的其他kjava***包的方法,不再做重复叙述。
在动态修改kjava***包中的用户自定义属性和/或属性值信息时,本发明提出,不仅修改kjava***包中jad文件中的用户自定义属性和/或属性值信息,还修改jar文件中的用户自定义属性和/或属性值信息。
图1是本发明动态修改kjava***包中的用户自定义属性和/或属性值信息的方法流程图,如图1所示,该方法包括:
步骤101,解压kjava***包中的jar文件。
步骤102,修改所述jar文件中的属性和属性值信息。
通常,jar文件中的用户自定义属性和/或属性值信息存储在jar文件中的mainfest.mf文件中,因此,修改jar文件中的用户自定义属性和/或属性值信息是指修改mainfest.mf文件中存储的属性和属性值信息。
步骤103,对修改后的jar文件进行打包。
步骤104,修改jad文件中的jar文件大小等描述信息。
由于对jar文件进行了修改,因此jad文件中用于描述jar文件的信息也要进行相应的修改。
另外,为了提高修改***包的安全性,本发明提出,还可以在修改所述jar文件中的属性和属性值信息之后,对修改后的jar文件进行打包之前,对修改后的属性和属性值信息进行加密处理,相应地,每次修改所述jar文件中的属性和属性值信息之前,都对所述属性和属性值信息进行解密处理。
对于动态修改kjava***包中的待升级模块的方法,本发明提出,在实现kjava***包时,由***运营公司向***开发商提供待升级模块的接口函数,***开发商在kjava***数据包中需要加入待升级模块的地方,加入待升级模块的接口函数,将所述kjava***包中除所述接口函数以外的部分进行混淆,然后再打包,至此,***开发商实现了kjava***包的开发。***运营公司根据待升级模块的具体实现逻辑,来实现待升级模块的代码,然后解压***开发商所实现的kjava***包,查找到待升级模块的接口函数,将用于实现所述待升级模块的代码添加进所述kjava***包中,并对添加进所述待升级模块的代码的kjava***包进行混淆并打包。在需要对待升级模块的具体实现逻辑进行修改时,从已经添加进所述待升级模块的代码的kjava***包中查找待升级模块的接口函数,修改该接口函数对应的代码,并对修改后的kjava***包重新混淆并打包。
可见,本发明提供的动态修改***包的方法能够方便有效地修改***。具体地,一方面,在修改用户自定义属性和属性值信息时,不仅修改kjava***包中jad文件中的用户自定义属性和属性值信息,还修改jar文件中的用户自定义属性和属性值信息,因此,即便kjava***包是通过jar文件安装的,其仍然能够根据新的用户自定义属性和属性值信息来展示***;另一方面,在修改待升级模块时,由于只需要对kjava***包进行解压,查找到待升级模块的接口函数,修改该接口函数对应的代码,并对修改后的kjava***包重新混淆并打包即可,这些工作可以由***运营公司独自完成,其只需要向***开发商提供待升级模块的接口函数,在初始开发kjava***包和日后修改kjava***包时,都无需向***开发商讲解***模块的具体逻辑,从而减小了修改***包中待升级模块时,***开发商和***运营商相互之间的沟通的工作量。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1、一种动态修改手机软件包的方法,其特征在于,该方法包括:修改kjava手机软件包中jad文件中的属性和/或属性值信息,
所述kjava手机软件包为:通过编写待升级模块的接口函数,在kjava手机软件包中需要加入所述待升级模块的地方加入所述接口函数,将所述kjava手机软件包中除所述接口函数以外的部分进行混淆打包得到;
解压kjava手机软件包中的jar文件,修改所述jar文件中的属性和属性值信息,对修改后的jar文件进行打包;修改jad文件中描述所述jar文件的信息;
解压所述kjava手机软件包,查找到待升级模块的接口函数,将用于实现所述待升级模块的代码添加进所述kjava手机软件包中,并对添加进所述待升级模块的代码的kjava手机软件包进行混淆并打包。
2、如权利要求1所述的方法,其特征在于,修改所述jar文件中的属性和属性值信息包括:
修改所述jar文件中的mainfest.mf文件中存储的属性和属性值信息。
3、如权利要求1所述的方法,其特征在于,该方法进一步包括:
从已经添加进所述待升级模块的代码的kjava手机软件包中查找待升级模块的接口函数,修改该接口函数对应的代码,并对修改后的kjava手机软件包重新混淆并打包。
4、如权利要求1或2或3所述的方法,其特征在于,所述待升级模块包括:计费模块和/或登录模块和/或联网模块;
所述计费模块,用于根据所述手机软件包的使用情况进行计费;
所述登录模块,用于登录所述手机软件包;
所述联网模块,用于接入到互联网。
5、如权利要求1或2或3所述的方法,其特征在于,
修改所述jar文件中的属性和属性值信息之前,该方法进一步包括:对所述属性和属性值信息进行解密处理;
修改所述jar文件中的属性和属性值信息之后,对修改后的jar文件进行打包之前,该方法进一步包括:
对修改后的属性和属性值信息进行加密处理。
6、一种动态修改手机软件包的方法,包括:修改kjava手机软件包中jad文件中的属性和/或属性值信息,其特征在于,该方法还包括:
解压kjava手机软件包中的jar文件,修改所述jar文件中的属性和属性值信息,对修改后的jar文件进行打包;修改jad文件中描述所述jar文件的信息。
7、如权利要求6所述的方法,其特征在于,修改所述jar文件中的属性和属性值信息包括:
修改所述jar文件中的mainfest.mf文件中存储的属性和属性值信息。
8、一种动态修改手机软件包的方法,其特征在于,
所述kjava手机软件包为:通过编写待升级模块的接口函数,在kjava手机软件包中需要加入所述待升级模块的地方加入所述接口函数,将所述kjava手机软件包中除所述接口函数以外的部分进行混淆打包得到;
该方法包括:解压所述kjava手机软件包,查找到待升级模块的接口函数,将用于实现所述待升级模块的代码添加进所述kjava手机软件包中,并对添加进所述待升级模块的代码的kjava手机软件包进行混淆并打包。
9、如权利要求8所述的方法,其特征在于,该方法进一步包括:
从已经添加进所述待升级模块的代码的kjava手机软件包中查找待升级模块的接口函数,修改该接口函数对应的代码,并对修改后的kjava手机软件包重新混淆并打包。
10、如权利要求8或9所述的方法,其特征在于,所述待升级模块包括:计费模块和/或登录模块;
所述计费模块,用于根据所述手机软件包的使用情况进行计费;
所述登录模块,用于登录所述手机软件包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101263658A CN101510918B (zh) | 2009-03-05 | 2009-03-05 | 一种动态修改手机软件包的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101263658A CN101510918B (zh) | 2009-03-05 | 2009-03-05 | 一种动态修改手机软件包的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101510918A true CN101510918A (zh) | 2009-08-19 |
CN101510918B CN101510918B (zh) | 2012-05-23 |
Family
ID=41003179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101263658A Active CN101510918B (zh) | 2009-03-05 | 2009-03-05 | 一种动态修改手机软件包的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101510918B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081535A (zh) * | 2010-12-17 | 2011-06-01 | 东莞宇龙通信科技有限公司 | 基于Android的应用程序升级方法、***及应用开发平台 |
CN103902262A (zh) * | 2012-12-26 | 2014-07-02 | 成都勤智数码科技股份有限公司 | 基于J2SE客户端应用程序精简jar包的通用方法 |
CN104281815A (zh) * | 2013-07-05 | 2015-01-14 | ***通信集团北京有限公司 | 文件加解密的方法和*** |
CN107145351A (zh) * | 2017-05-02 | 2017-09-08 | 山东浪潮通软信息科技有限公司 | 一种修改签名Java包的方法、装置、可读介质及存储控制器 |
CN113867832A (zh) * | 2021-09-15 | 2021-12-31 | 广州云徙科技有限公司 | 动态修改业务数据逻辑方法、***、计算机设备及介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100521676C (zh) * | 2005-04-14 | 2009-07-29 | 华为技术有限公司 | 在机顶盒中单独升级业务软件的实现方法和装置 |
CN101206575B (zh) * | 2006-12-19 | 2010-05-19 | 大唐移动通信设备有限公司 | 一种软件补丁在线升级方法、单板及*** |
CN100478897C (zh) * | 2007-12-04 | 2009-04-15 | 腾讯科技(深圳)有限公司 | 实现在游戏运行过程中自动验证支付的方法、装置和*** |
-
2009
- 2009-03-05 CN CN2009101263658A patent/CN101510918B/zh active Active
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081535A (zh) * | 2010-12-17 | 2011-06-01 | 东莞宇龙通信科技有限公司 | 基于Android的应用程序升级方法、***及应用开发平台 |
CN102081535B (zh) * | 2010-12-17 | 2013-07-31 | 东莞宇龙通信科技有限公司 | 基于Android的应用程序升级方法、***及应用开发平台 |
CN103902262A (zh) * | 2012-12-26 | 2014-07-02 | 成都勤智数码科技股份有限公司 | 基于J2SE客户端应用程序精简jar包的通用方法 |
CN104281815A (zh) * | 2013-07-05 | 2015-01-14 | ***通信集团北京有限公司 | 文件加解密的方法和*** |
CN104281815B (zh) * | 2013-07-05 | 2017-09-29 | ***通信集团北京有限公司 | 文件加解密的方法和*** |
CN107145351A (zh) * | 2017-05-02 | 2017-09-08 | 山东浪潮通软信息科技有限公司 | 一种修改签名Java包的方法、装置、可读介质及存储控制器 |
CN113867832A (zh) * | 2021-09-15 | 2021-12-31 | 广州云徙科技有限公司 | 动态修改业务数据逻辑方法、***、计算机设备及介质 |
CN113867832B (zh) * | 2021-09-15 | 2024-04-02 | 广州云徙科技有限公司 | 动态修改业务数据逻辑方法、***、计算机设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101510918B (zh) | 2012-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2962193B1 (en) | Compiler based obfuscation | |
KR102281052B1 (ko) | 이동 단말 애플리케이션 업데이트 방법 및 장치 | |
CN101510918B (zh) | 一种动态修改手机软件包的方法和装置 | |
CN106933610B (zh) | 一种应用程序安装包生成方法、装置及电子设备 | |
CN108376073B (zh) | 一种测试软件包生成方法及终端 | |
CN106569869A (zh) | 插件化打包方法及装置 | |
CN104156225B (zh) | 一种安装包的下载方法、***及服务器 | |
CN107045438B (zh) | 一种应用顶层视图处理方法、装置及组件 | |
CN107885540A (zh) | 一种加载应用程序静态资源的方法、装置及终端 | |
CN103443763B (zh) | 包含对重写虚拟函数的调用的支持的isa桥接 | |
CN102541572A (zh) | 一种实现操作***内核引导的方法、***及装置 | |
CN108647032B (zh) | 应用加载方法及装置、计算机装置和计算机可读存储介质 | |
CN101937356B (zh) | 一种编译WebKit浏览器的方法及装置 | |
US20230222014A1 (en) | Systems and methods for providing a hybrid mobile application | |
CN110945475A (zh) | 用于提供可打补丁的rom固件的***和方法 | |
CN109598107A (zh) | 一种基于应用安装包文件的代码转换方法及装置 | |
CN108762767A (zh) | 应用发布方法、装置及计算机可读存储介质 | |
CN107463405A (zh) | 一种应用程序的更新方法及装置 | |
CN109165034A (zh) | 基于ota的pos机升级方法、装置、设备及存储介质 | |
US7669197B1 (en) | Embedded system employing component architecture platform | |
CN108170459A (zh) | 软件升级方法、智能终端及具有存储功能的装置 | |
CN105653351A (zh) | java卡虚拟机的优化方法及*** | |
CN105511935A (zh) | 资源索引值的获取方法及装置 | |
CN112416303B (zh) | 软件开发工具包热修复方法、装置及电子设备 | |
CN113791870A (zh) | 一种WebAssembly虚拟机分布式***细粒度迁移方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |