CN104166554B - 一种支持多操作***的软件开发方法及安装方法 - Google Patents
一种支持多操作***的软件开发方法及安装方法 Download PDFInfo
- Publication number
- CN104166554B CN104166554B CN201410408191.5A CN201410408191A CN104166554B CN 104166554 B CN104166554 B CN 104166554B CN 201410408191 A CN201410408191 A CN 201410408191A CN 104166554 B CN104166554 B CN 104166554B
- Authority
- CN
- China
- Prior art keywords
- software
- identiflication number
- operating system
- address code
- file
- 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.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种支持多操作***的软件开发方法及安装方法,该方法包括步骤:A、预先将软件定义为软件头部和软件主体;B、在软件头部中生成各操作***名称的识别编号,并设置对应的地址码;C、在软件主体中生成与地址码对应关联的支持不同操作***的安装文件;由于采用了一个安装文件支持多种操作***的方式,使用户在安装软件时无需关注手机操作***,并且当不同操作***之间进行软件共享时也无需考虑双方的手机操作***。
Description
技术领域
本发明涉及智能移动终端应用领域,尤其涉及的是一种支持多操作***的软件开发方法及安装方法。
背景技术
移动终端的操作***分很多种,目前主流的移动终端操作***有iOS、Android、WindowsPhone。在移动终端现有技术中,功能相同的软件,使用不同操作***的移动终端其安装文件是不一样的。就拿手机QQ来说,安装在iOS中的手机QQ安装文件与安装在Android中的手机QQ安装文件是不一样的。因此,导致同一款软件需要针对不同的操作***提供不同的安装文件,无法做到一个安装文件能够安装在不同的手机操作***中,这将带来以下麻烦:
1)、当iOS用户想通过无线方式共享其某款软件的安装文件给Android用户成为不可能;
2)、一些智能手机用户可能不了解自己使用的是什么操作***,无法正确下载到软件的安装文件。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足,本发明提供一种支持多操作***的软件开发方法及安装方法,使用户在安装软件时无需关注手机操作***,并且当不同操作***之间进行软件共享时也无需考虑双方的手机操作***。
所采用的技术方案如下:
一种支持多操作***的软件开发方法,包括步骤:
A、预先将软件定义为软件头部和软件主体;
B、在软件头部中生成各操作***名称的识别编号,并设置对应的地址码;
C、在软件主体中生成与地址码对应关联的支持不同操作***的安装文件。
所述的支持多操作***的软件开发方法,其中,所述地址码包括:
软件主体的起始地址和匹配对应操作***安装文件的文件大小。
一种支持多操作***的软件安装方法,包括步骤:
D、获取当前操作***名称,并将该操作***名称转换为识别编号;
E、在软件头部中查找是否存在该识别编号,如果存在则执行步骤F,否则提示该软件无法安装;
F、根据该识别编号对应的地址码从软件主体中获取对应关联的安装文件,并安装。
所述的支持多操作***的软件安装方法,其中,在所述步骤D之前还包括:
D01、预先在软件头部中设置与操作***名称对应的识别编号,并在软件头部中设置与识别编号对应的地址码,且在软件主体中设置与该地址码对应关联的安装文件。
所述的支持多操作***的软件安装方法,其中,所述步骤E具体包括:
E1、根据操作***名称转换的识别编号在软件头部中进行识别编号查找;
E2、如果在软件头部中查找到该识别编号,则进入步骤F,否则进入步骤E3;
E3、提示该软件无法安装。
所述的支持多操作***的软件安装方法,其中,所述步骤F具体包括:
F1、根据软件头部中的识别编号获取对应的地址码;
F2、根据该地址码指向软件主体中对应关联的安装文件;
F3、获取该安装文件,并进行安装。
所述的支持多操作***的软件安装方法,其中,所述地址码包括:软件主体的起始地址和匹配对应操作***安装文件的文件大小。
本发明的有益效果:
与现有技术相比,本发明提供的一种支持多操作***的软件开发方法及安装方法,由于采用了一个安装文件支持多种操作***的方式,使用户在安装软件时无需关注手机操作***,并且当不同操作***之间进行软件共享时也无需考虑双方的手机操作***。
附图说明
图1是本发明支持多操作***的软件开发方法的步骤流程图;
图2是本发明支持多操作***的软件开发方法中软件的组成示意图;
图3是本发明支持多操作***的软件安装方法的步骤流程图;
图4是本发明支持多操作***的软件安装方法具体应用实施例中微信软件的组成示意图;
图5是图4中微信软件的软件头部地址码编排规则示意图。
具体实施方式
本发明提供了一种支持多操作***的软件开发方法及安装方法,为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参见图1,图1是本发明支持多操作***的软件开发方法的步骤流程图,所述支持多操作***的软件开发方法,其包括以下步骤:
步骤 S100、预先将软件定义为软件头部和软件主体。
步骤 S200、在软件头部中生成各操作***名称的识别编号,并设置对应的地址码。
步骤 S300、在软件主体中生成与地址码对应关联的支持不同操作***的安装文件。
结合图2所示,图2是本发明支持多操作***的软件开发方法中软件的组成示意图,以支持三种操作***(OS1、OS2、OS3,注:OS:Operating System)为例,生成本文所述的支持多操作***的软件包括以下步骤:
A1、得到这三种操作***上的软件安装文件:OS1_sw_file、OS2_sw_file、OS3_sw_file,其中,OS1_sw_file安装文件能在OS1操作***上安装,OS2_sw_file安装文件能在OS2操作***上安装, OS3_sw_file安装文件能在OS3操作***上安装。
A2、生成软件头部如下:
OS1:sw_real_base + 0;
OS2:sw_real_base + OS1_sw_file_size;
OS3:sw_real_base + OS1_sw_file_size + OS2_sw_file_size;
其中,软件主体的起始地址为sw_real_base,OS1_sw_file的文件大小为OS1_sw_file_size,OS2_sw_file的文件大小为OS2_sw_file_size, OS3_sw_file的文件大小为OS3_sw_file_size,地址码的编排规则是下一地址码减去本地址码的文件大小,那么, OS1的地址码为:sw_real_base + 0,OS2的地址码为:sw_real_base + OS1_sw_file_size,OS3的地址码为:sw_real_base + OS1_sw_file_size + OS2_sw_file_size。
A3、生成软件主体:
OS1_sw_file;
OS2_sw_file;
OS3_sw_file;
软件主体由上述三种操作***的安装文件依次组成,其中,OS1_sw_file为OS1操作***的安装文件,OS2_sw_file为OS3操作***的安装文件,OS3_sw_file为OS3操作***的安装文件。
如图3所示,图3是本发明支持多操作***的软件安装方法的步骤流程图,所述支持多操作***的软件安装方法,其包括以下步骤:
步骤S400、获取当前操作***名称,并将该操作***名称转换为识别编号。现有常见的移动终端操作***有iOS、Android、WindowsPhone,那么根据操作***的不同,对其分别进行识别编号。
当然,在进行步骤S400之前还应当预先在软件头部中设置与操作***名称对应的识别编号,并在软件头部中设置与识别编号对应的地址码,且在软件主体中设置与该地址码对应关联的安装文件。也就是说,在软件头部中设置识别编号,而该识别编号与操作***名称转化的识别编号是对应的,只有在软件头部中找到对应的操作***名称识别编号之后,才根据对应地址码关联到软件主体中对应的安装文件,方可进行软件的安装。
本发明中的软件包括两个部分:软件头部和软件主体,其中,软件头部包括该软件所支持的操作***(即该软件能在哪些操作***上安装)及各操作***对应的一个地址码,该地址码具体为软件主体的起始地址和匹配对应操作***安装文件的文件大小,而软件主体则包括所支持的操作***对应的安装文件。
步骤S500、在软件头部中查找是否存在该识别编号,如果存在则执行步骤S600,否则提示该软件无法安装。该步骤S500具体包括:
步骤S510、根据操作***名称转换的识别编号在软件头部中进行识别编号查找。在软件头部中设置了该软件所能支持的所有操作***的名称识别编号,那么,只需在该软件头部中查找是否有与当前操作***名称对应的识别编号,之后进入步骤S520。
步骤S520、如果在软件头部中查找到该识别编号,则进入步骤S600,否则进入步骤S530。如果在该软件头部中查找到了对应的操作***名称识别编号,说明该软件能够支持该操作***,则进入步骤S600;如果在该软件头部中为查到该操作***名称识别编号,说明该软件不能够支持该操作***,则进入步骤S530。
步骤S530、提示该软件无法安装。提示用户该款软件无法在本操作***上安装,说明该软件所能支持的操作***不包含当前操作***。
步骤S600、根据该识别编号对应的地址码从软件主体中获取对应操作***的安装文件,并安装。该步骤S600具体包括:
步骤S610、根据软件头部中的识别编号获取对应的地址码。在软件头部中识别编号是地址码是一一对应的,即一个操作***名称识别编号对应一个地址码,而且只有通过该地址码才能在软件主体中找到对应的安装文件。
步骤S620、根据该地址码指向软件主体中对应关联的安装文件。操作***名称识别编号与地址码一一对应,而地址码与软件主体中针对不同操作***的安装文件又是一一对应的。
步骤S630、获取该安装文件,并进行安装。获取地址码所指向的安装文件,并在该操作***上进行安装。
下面结合一具体应用实施例对本发明做进一步详述:
以支持iOS、Android、WindowsPhone操作***的微信软件及该微信软件在这三种操作***上安装的方法为例。
如图4所示,图4是本发明支持多操作***的软件安装方法具体应用实施例中微信软件的组成示意图。
在软件头部中,0xdeadbeef0026为iOS操作***的识别编号,0xdeadbeef0012为Android操作***的识别编号,0xdeadbeef0029为WindowsPhone操作***的识别编号。软件主体的起始地址为sw_real_base,iOS_sw_file的文件大小为iOS_sw_file_size,Android_sw_file的文件大小为Android_sw_file_size,WindowsPhone_sw_file的文件大小为WindowsPhone_sw_file_size,如上述地址码的编排规则,相应的, iOS的地址码为:sw_real_base + 0,Android的地址码为:sw_real_base + iOS_sw_file_size,WindowsPhone的地址码为:sw_real_base + iOS_sw_file_size + Android_sw_file_size。
软件主体由iOS、Android、WindowsPhone上安装微信软件的安装文件依次组成。在软件主体中,iOS_sw_file为现有的能在iOS上安装的微信软件的安装文件;Android_sw_file为现有的能在Android上安装的微信软件的安装文件;WindowsPhone_sw_file为现有的能在WindowsPhone上安装的微信软件的安装文件。
当安装支持iOS、Android、WindowsPhone三种操作***的微信软件时,具体步骤如下:
步骤S10、获取当前操作***名称,并将操作***名称转换为识别编号。之后进入步骤S20。
步骤S20、在软件头部中查找是否存在该操作***名称的识别编号,如果存在则执行步骤S30,否则提示该软件无法安装。
步骤S30、获取软件头部中该识别编号对应的地址码,从该地址码中得到软件主体中对应操作***的安装文件,并安装。
其中,所述步骤S10中操作***名称转换为识别编号,具体为事先约定识别编号与操作***对应的关系,如本实施例中识别编号0xdeadbeef0012表示Android;那么当获取到操作***名称为Android时,转换为识别编号0xdeadbeef0012。
所述步骤S20,具体为在该微信安装文件中查找0xdeadbeef开头的内容,加上后面两个字节即为操作***识别编号;在微信安装文件中查找所有以0xdeadbeef开头的内容并加上其后的两个字节就可知道该微信安装文件支持哪些识别编号的操作***。通过判断步骤S10中得到的识别编号是否在其中,就可以知道该微信安装文件能否安装在该手机中。例如步骤S10中通过操作***名称转换得到的识别编号为0xdeadbeef006,则无法使用软件主体中的微信安装文件;又例如步骤S10中通过操作***名称转换得到的识别编号为0xdeadbeef029,则可以使用软件主体中的微信安装文件。
所述步骤S30,具体为获取相应识别编号后的软件主体的起始地址和匹配对应操作***安装文件的文件大小的字节数。该匹配对应操作***安装文件的文件大小的字节数由下一识别编号的内容减去本识别编号的内容之后得到。
如图5所示,图5是图4中微信软件的软件头部地址码编排规则示意图,例如,设:
iOS_sw_file_size=0x111111字节;
Android_sw_file_size=0x22222222字节;
WindowsPhone_sw_file_size=0x3333字节。
则软件头部中地址码如图5所示,其中,sw_real_base可由以下方式算出:
一个识别编号的字节数为6,iOS_sw_file_size的字节数为3,Android_sw_file_size的字节数为4,则:
6*3+[sw_real_base/255]+[(sw_real_base+0x111111)/255]+[(sw_real_base+0x111111+0x22222222)/255]=sw_real_base,其中[]表示取整数部分,算得sw_real_base=26,即0x1a 。
软件主体依次由0x111111字节的iOS_sw_file、0x22222222字节的Android_sw_file、0x3333字节的WindowsPhone_sw_file组成。
综上所述,本发明所提供的一种支持多操作***的软件开发方法及安装方法,由于采用了一个安装文件支持多种操作***的方式,使用户在安装软件时无需关注手机操作***,并且当不同操作***之间进行软件共享时也无需考虑双方的手机操作***。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (4)
1.一种支持多操作***的软件开发方法,其特征在于,包括步骤:
A、预先将软件定义为软件头部和软件主体;
B、在软件头部中生成各操作***名称的识别编号,并设置对应的地址码;
C、在软件主体中生成与地址码对应关联的支持不同操作***的安装文件;
所述地址码包括:软件主体的起始地址和匹配对应操作***安装文件的文件大小;
操作***名称的识别编号与所述地址码一一对应,所述地址码与所述软件主体中针对不同操作***的安装文件也是一一对应的;
所述软件头部中设置的识别编号,且所述识别编号与操作***名称识别编号是对应的,只有在软件头部中找到对应的操作***名称识别编号之后,才根据地址码关联到软件主体中对应的安装文件,进行软件的安装。
2.一种支持多操作***的软件安装方法,其特征在于,包括步骤:
D、获取当前操作***名称,并将该操作***名称转换为识别编号;
E、在软件头部中查找是否存在该识别编号,如果存在则执行步骤F,否则提示该软件无法安装;
F、根据该识别编号对应的地址码从软件主体中获取对应关联的安装文件,并安装;
在所述步骤D之前还包括:
D01、预先在软件头部中设置与操作***名称对应的识别编号,并在软件头部中设置与识别编号对应的地址码,且在软件主体中设置与该地址码对应关联的安装文件;
所述地址码包括:软件主体的起始地址和匹配对应操作***安装文件的文件大小;
操作***名称的识别编号与所述地址码一一对应,所述地址码与所述软件主体中针对不同操作***的安装文件也是一一对应的;
所述软件头部中设置的识别编号,且所述识别编号与操作***名称识别编号是对应的,只有在软件头部中找到对应的操作***名称识别编号之后,才根据地址码关联到软件主体中对应的安装文件,进行软件的安装。
3.根据权利要求2 所述的支持多操作***的软件安装方法,其特征在于,所述步骤E具体包括:
E1、根据操作***名称转换的识别编号在软件头部中进行识别编号查找;
E2、如果在软件头部中查找到该识别编号,则进入步骤F,否则进入步骤E3;
E3、提示该软件无法安装。
4.根据权利要求2所述的支持多操作***的软件安装方法,其特征在于,所述步骤F具体包括:
F1、根据软件头部中的识别编号获取对应的地址码;
F2、根据该地址码指向软件主体中对应关联的安装文件;
F3、获取该安装文件,并进行安装。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410408191.5A CN104166554B (zh) | 2014-08-19 | 2014-08-19 | 一种支持多操作***的软件开发方法及安装方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410408191.5A CN104166554B (zh) | 2014-08-19 | 2014-08-19 | 一种支持多操作***的软件开发方法及安装方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104166554A CN104166554A (zh) | 2014-11-26 |
CN104166554B true CN104166554B (zh) | 2018-04-06 |
Family
ID=51910388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410408191.5A Active CN104166554B (zh) | 2014-08-19 | 2014-08-19 | 一种支持多操作***的软件开发方法及安装方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104166554B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104765633A (zh) * | 2015-04-22 | 2015-07-08 | 浪潮电子信息产业股份有限公司 | 服务器操作***的安装方法、装置及可移动存储设备 |
CN106095514B (zh) * | 2016-06-22 | 2019-05-03 | 深圳市波普安创技术有限公司 | 兼容操作***的文件安装包及其生成下载方法 |
CN108089885A (zh) * | 2017-12-28 | 2018-05-29 | Tcl移动通信科技(宁波)有限公司 | 一种usb驱动安装处理方法、移动终端及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5931909A (en) * | 1996-04-19 | 1999-08-03 | Sun Microsystems, Inc. | System for multiple-client software installation and upgrade |
CN101694624A (zh) * | 2009-10-19 | 2010-04-14 | 中兴通讯股份有限公司 | 处理软件安装包光盘镜像文件的方法及装置 |
CN102520948A (zh) * | 2011-12-09 | 2012-06-27 | 福建联迪商用设备有限公司 | 应用程序维护更新方法和装置 |
-
2014
- 2014-08-19 CN CN201410408191.5A patent/CN104166554B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5931909A (en) * | 1996-04-19 | 1999-08-03 | Sun Microsystems, Inc. | System for multiple-client software installation and upgrade |
CN101694624A (zh) * | 2009-10-19 | 2010-04-14 | 中兴通讯股份有限公司 | 处理软件安装包光盘镜像文件的方法及装置 |
CN102520948A (zh) * | 2011-12-09 | 2012-06-27 | 福建联迪商用设备有限公司 | 应用程序维护更新方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104166554A (zh) | 2014-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107943486B (zh) | 一种多语言代码编译方法、分发方法、装置和*** | |
CN102779151B (zh) | 应用程序的搜索方法、装置及*** | |
US9823909B1 (en) | Program code conversion for cross-platform compatibility | |
CN103514006A (zh) | 一种Android***预装应用升级的方法及*** | |
CN103713902B (zh) | 一种基于Android***的BOA编译方法和*** | |
CN106325965B (zh) | 操作***的编译方法和装置 | |
CN104166554B (zh) | 一种支持多操作***的软件开发方法及安装方法 | |
CN106055375B (zh) | 应用程序安装方法及装置 | |
WO2021120327A1 (zh) | 一种固件更新方法、装置、耳机及计算机可读存储介质 | |
CN104144466A (zh) | 物联网中传感器接入方法、物联网***和服务器 | |
CN103019736A (zh) | 一种语言文件生成方法及装置 | |
CN105630518A (zh) | Android应用软件资源更新的方法和装置 | |
CN103176811B (zh) | 第三方应用安装方法和*** | |
CN106020896A (zh) | 一种基于私有云的自动化程序发布方法 | |
CN103164237A (zh) | 固件升级方法及*** | |
CN104166576A (zh) | 一种提供应用程序安装包的***平台 | |
CN106020882A (zh) | 一种应用升级方法、智能终端及升级*** | |
CN105049533A (zh) | 一种终端***升级的方法及*** | |
TW200636499A (en) | Rapid provisioning of a computer into a homogenized resource pool | |
CN102158434A (zh) | 一种在智能网关上实现应用程序管理的方法及智能网关 | |
CN104182260A (zh) | 一种应用程序安装包的提供方法 | |
CN106648762A (zh) | 一种搭建开发环境的方法及装置 | |
CN109032617B (zh) | 一种自动删除安装包的控制方法及控制装置 | |
CN102004654B (zh) | 软件安装方法和装置 | |
CN105320540A (zh) | 一种安卓应用的批量安装方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |