CN105159732A - 在移动终端安装或更新应用程序的方法和移动终端 - Google Patents
在移动终端安装或更新应用程序的方法和移动终端 Download PDFInfo
- Publication number
- CN105159732A CN105159732A CN201510670237.5A CN201510670237A CN105159732A CN 105159732 A CN105159732 A CN 105159732A CN 201510670237 A CN201510670237 A CN 201510670237A CN 105159732 A CN105159732 A CN 105159732A
- Authority
- CN
- China
- Prior art keywords
- mobile terminal
- file
- shell
- application program
- operating system
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种在移动终端安装或更新应用程序的方法和移动终端。该方法包括:根据移动终端的请求,将应用程序的安装文件发送给所述移动终端,其中所述安装文件包含两个代码文件和外壳程序,所述两个代码文件分别适用于不同版本的操作系统;在所述安装文件被所述移动终端的操作系统加载时,由所述外壳程序判断所述移动终端的操作系统的版本;以及根据判断结果执行所述两个代码文件中的一个。根据该方法,可有效地解决了兼容性问题,又不会明显地增加应用程序的加载时间,不影响用户体验。而且,这种方式对原应用程序的改动较小,易于调试和验证。
Description
技术领域
本发明涉及移动终端,具体涉及一种在移动终端安装或更新应用程序的方法和移动终端。
背景技术
随着用于智能手机的Android系统的演化,其v5.0版本(apilevel21)强制生效了诸多安全机制。例如,ASLR(AddressSpaceLayoutRandomization)旨在通过随机组织包含代码段、栈、堆和库等进程关键数据区的地址空间定位,从而防范应用程序的缓冲区溢出攻击。为此采用动态链接的应用程序,必须按照位置无关方式(PositionIndependentExecutable,即PIE)进行编译和链接(GCC编译器选项-PIE和-fPIE),否则该版本的Android系统不予加载执行该程序。
但是,在当前智能手机的用户群体中,也有很大一部分在使用具有较低版本的Android系统,而较低版本的Android系统,例如v2.3版本(apilevel9)无法识别位置无关方式的应用程序。这就导致适用于较高版本的Android系统的应用程序的代码文件不适用于较低版本的Android系统,这样无论是安装还是更新该应用程序的操作,都无法得以实现。由此给Android应用程序的系统兼容性带来了困难。
在现有技术中,对上述问题的一种解决方案是,应用程序的开发者仍以较低版本的Android系统为标准编写代码文件。如果需要安装或更新该应用程序的移动终端的Android系统为较高版本(如v5.0版本),则在加载该代码文件前,修改Androidv5.0系统的动态链接器(/system/bin/linker程序),以绕开系统在应用程序加载过程中对位置无关方式(PIE)特性的校验。虽然这种方案能够解决应用程序对于不同版本的Android系统的兼容性问题,但这引入了明显的安全风险,而且也增加了部署困难,在工程实践中并不可行。
现有技术中对上述问题的另一种解决方案是,在应用程序的开发过程中,开发者预先针对不同版本的Android系统制作两份不同的应用程序放在服务器上,其中一份适用于高版本的Android系统,另一份适用于低版本的Android系统。在某个移动终端请求下载安装或更新该应用程序时,服务器向该终端发送其中预定的一份,如果恰好匹配,则进行安装或更新。如果不匹配,则提示用户安装或更新失败,经过用户手动选择后,再将另一份代码文件发送给该移动终端。这种解决方案的问题是,随着应用程序从一个版本变为两个版本,所有依赖于该应用程序的外部模块都必须要修改调用方式。而且这样非常容易引入各种新的软件缺陷。此外,如果第一次向用户发送的代码文件不匹配移动终端的系统版本,则还需要重新下载,这样会影响用户体验。
可见,现有技术中亟需一种能够较好解决应用程序针对不同版本Android系统的兼容性问题的方案。
发明内容
有鉴于此,本发明提出了一种在移动终端安装或更新应用程序的方法和移动终端。
根据本发明的一个方面,提供了一种在移动终端安装或更新应用程序的方法,包括:根据移动终端的请求,将应用程序的安装文件发送给所述移动终端,其中所述安装文件包含两个代码文件和外壳程序,所述两个代码文件分别适用于不同版本的操作系统;在所述安装文件被所述移动终端的操作系统加载时,由所述外壳程序判断所述移动终端的操作系统的版本;以及根据判断结果执行所述两个代码文件中的一个。
根据一个实施方式,所述安装文件是利用所述应用程序的源代码和所述外壳程序的源代码在云端通过编译器和二进制文件到头文件转换器生成的。
根据一个实施方式,在云端通过如下步骤生成所述安装文件:利用所述应用程序的源代码,通过GCC编译器生成适用于不同版本的操作系统的两个二进制文件;通过BIN2INC二进制文件到头文件转换器,将所述两个二进制文件转换成两个头文件;将所述两个头文件加入所述外壳程序的源代码中;以及利用已包含所述两个头文件的所述外壳程序的源代码,通过所述GCC编译器生成所述应用程序的安装文件。
根据一个实施方式,所述两个代码文件均在云端采用动态链接方式生成并且其源文件相同,其区别在于在build时GCC编译器的选项不同。
根据一个实施方式,所述外壳程序在云端采用静态链接方式在GCC编译器选项为-static的情况下生成,并能够链接至所述两个代码文件中每一个的入口地址。
根据一个实施方式,所述外壳程序以数组形式链接所述两个代码文件,并且根据判断结果执行所述两个代码文件中的一个包括:在所述移动终端将待执行的代码文件的内容以可执行文件的形式写入到所述移动终端的文件系统中;以及由所述移动终端执行所述可执行文件。
根据一个实施方式,由所述外壳程序判断所述移动终端的操作系统的版本包括:在所述移动终端由所述外壳程序获取所述移动终端的操作系统的信息;以及在所述移动终端根据所获取的信息判断所述移动终端的操作系统的版本。
根据一个实施方式,所述信息为所述移动终端的操作系统的API号。
根据本发明的另一方面,提供了一种在移动终端安装或更新应用程序的方法,包括:下载应用程序的安装文件,其中所述安装文件包含两个代码文件和外壳程序,所述两个代码文件分别适用于不同版本的操作系统;加载所述外壳程序,以由所述外壳程序判断所述移动终端的操作系统的版本;以及根据判断结果执行所述两个代码文件中的一个。
根据本发明的另一方面,提供了一种移动终端,其安装有操作系统,所述移动终端包括:下载单元,用于下载应用程序的安装文件,其中所述安装文件包含两个代码文件和外壳程序,所述两个代码文件分别适用于不同版本的操作系统;加载单元,用于加载所述外壳程序,以由所述外壳程序判断所述移动终端的操作系统的版本;以及执行单元,用于根据判断结果执行所述两个代码文件中的一个。
根据一个实施方式,所述安装文件是利用所述应用程序的源代码和所述外壳程序的源代码在云端通过编译器和二进制文件到头文件转换器生成的。
根据一个实施方式,所述两个代码文件均在云端采用动态链接方式生成并且其源文件相同,其区别在于在build时GCC编译器的选项不同。
根据一个实施方式,所述外壳程序在云端采用静态链接方式在GCC编译器选项为-static的情况下生成,并能够链接至所述两个代码文件中每一个的入口地址。
根据一个实施方式,所述外壳程序以数组形式链接所述两个代码文件,并且所述执行单元包括:写入子单元,用于将待执行的代码文件的内容以可执行文件的形式写入到所述移动终端的文件系统中;以及执行子单元,用于执行所述可执行文件。
根据一个实施方式,当所述加载单元加载所述外壳程序时,所述外壳程序获取所述移动终端的操作系统的信息,并根据所获取的信息判断所述移动终端的操作系统的版本。
根据一个实施方式,所述信息为所述移动终端的操作系统的API号。
根据本发明所提供的技术方案,可将适用于不同版本操作系统的应用程序的不同代码文件通过外壳程序“集成”在一起,在移动终端需要安装或更新时,将该“集成”了外壳程序和不同代码文件的安装文件发送给移动终端。这样,在应用程序的安装或更新操作中,可由外壳程序来判断操作系统的版本,以选择与其匹配的代码文件执行。这既有效地解决了兼容性问题,又不会明显地增加应用程序的加载时间,不影响用户体验。而且,这种方式对原应用程序的改动较小,易于调试和验证。
附图说明
参照附图来阅读本发明的各实施方式,将更容易理解本发明的其它特征和优点,在此描述的附图只是为了对本发明的实施方式进行示意性说明的目的,而非全部可能的实施,并且不旨在限制本发明的范围。在附图中:
图1示出了根据本发明一个示例性实施方式在移动终端安装或更新应用程序的方法的流程图;
图2示出了根据本发明一个实施方式应用程序的安装文件在云端的生成过程的一例;
图3示出了根据本实施方式应用程序中外壳与代码文件的关系示意图;
图4示出了根据本发明的一个实施方式根据判断结果执行两个代码文件中的一个的流程图;
图5示出了根据本发明的一个实施方式在移动终端执行安装文件的过程的一例。;
图6示出了根据本发明的一个实施方式由外壳程序判断移动终端的操作系统的版本的流程图;
图7示出了根据本发明另一示例性实施方式在移动终端安装或更新应用程序的方法的流程图;
图8示出了根据本发明一个示例性实施方式的移动终端的框图;以及
图9示出了根据本发明一个示例性实施方式的执行单元的框图。
具体实施方式
现参照附图对本发明的实施方式进行详细描述。应注意,以下描述仅仅是示例性的,而并不旨在限制本发明,并且为了简要起见,在以下描述中省略了与现有技术相同的一些部件的具体描述。此外,在以下描述中,将采用相同的附图标号表示不同附图中的相同或相似的部件。在以下描述的不同实施方式中的不同特征,可彼此结合,以形成本发明范围内的其他实施方式。
图1示出了根据本发明一个示例性实施方式在移动终端安装或更新应用程序的方法的流程图。如图1所示,该方法100可包括步骤S110至S130。在步骤S110中,根据移动终端的请求,将应用程序的安装文件发送给移动终端。在此步骤中,所发送的安装文件包含两个代码文件和外壳程序,这两个代码文件分别适用于不同版本的操作系统。在步骤S120中,当移动终端的操作系统为了安装或更新该应用程序而加载安装文件时,由外壳程序判断移动终端的操作系统的版本。随后,在步骤S130中,根据判断结果执行两个代码文件中的一个,从而完成安装或更新过程。
由此,可将适用于不同版本操作系统的应用程序的不同代码文件通过外壳程序“集成”在一起,在移动终端需要安装或更新时,将该“集成”了外壳程序和不同代码文件的安装文件发送给移动终端。这样,在应用程序的安装或更新操作中,可由外壳程序来判断操作系统的版本,以选择与其匹配的代码文件执行。这既有效地解决了兼容性问题,又不会明显地增加应用程序的加载时间,不影响用户体验。而且,这种方式对原应用程序的改动较小,易于调试和验证。
根据本发明一个实施方式,上述应用程序的安装文件可在云端生成。在云端,可利用需要进行发布的目标应用程序的源代码(如,core.c)和外壳程序的源代码(如,shell.c),通过开发工具(如,GCC编译器和BIN2INC二进制文件到头文件转换器),生成分别适用于不同版本的操作系统的代码文件(如,core4.h,core5.h等),并随后生成包含这些代码文件的打包程序文件(如,all_in_one)作为应用程序的安装文件。
图2示出了根据本发明一个实施方式应用程序的安装文件在云端的生成过程的一例。如图2所示,该安装文件可通过如下步骤生成。首先,利用该应用程序的源代码(如图2所示的core.c),通过GCC编译器生成适用于不同版本的操作系统的两个二进制文件(如图2所示的core4和core5)。随后,通过BIN2INC二进制文件到头文件转换器,将两个二进制文件转换成两个头文件(如图2所示的core4.h和core5.h)。然后,将所生成的两个头文件加入外壳程序的源代码(如图2所示的shell.c)中。最后,利用已包含两个头文件的外壳程序的源代码,通过GCC编译器生成该应用程序的安装文件(如图2所示的all_in_one)。
根据本发明一个实施方式,上述两个代码文件均采用动态链接方式生成,并且由于其属于同一个应用程序,故其源文件相同,区别在于在build时,GCC编译器的选项不同。如,适用于高版本(如Androidv5.0)的代码文件按照位置无关方式进行编译和链接,即GCC编译器选项-PIE和-fPIE,而适用于低版本(如Androidv2.3)的代码文件不设置GCC编译器选项-PIE和-fPIE。
具体地,例如如图2所示,对于需要发布的应用程序的源代码core.c:使用GCC编译选项gcc–ocore4core.c,生成二进制core4(兼容于Android5.0以下的操作系统版本),再使用BIN2INC二进制文件到头文件转换器把二进制文件core4转换为头文件core4.h;使用GCC编译选项gcc–ocore5–fpie–fPIEcore.c,生成二进制core5(兼容于Android5.0及5.0以上的操作系统版本),再使用BIN2INC二进制文件到头文件转换器把二进制文件core5转换为头文件core5.h。
根据本发明一个实施方式,上述外壳程序采用静态链接方式在GCC编译器选项为-static的情况下生成,并能够链接至上述两个代码文件中每一个代码文件的入口地址。由此,可以理解,外壳程序可视为包覆于两个代码文件,当系统意图调用代码文件以安装或更新该应用程序时,均需通过外壳程序才能接入代码文件。图3示出了根据本实施方式应用程序中外壳与代码文件的关系示意图。
具体地,例如如图2,对于打包二进制文件(all_in_one),我们先在外壳程序的源代码shell.c中包含以上生成的多个头文件(#inlcude“core4.h”#include“core5.h”),然后再用GCC编译选项gcc–oall_in_one–stiatcshell.c生成程序文件all_in_one,由于指定静态链接-staitc,all_in_one可同时兼容于Android5.0以下和以上各个操作系统版本。
根据本发明的一个实施方式,外壳程序以数组形式链接两个代码文件。图4示出了根据本发明的一个实施方式根据判断结果执行两个代码文件中的一个的流程图。如图4所示,上述步骤S130可包括子步骤S131和S132。在子步骤S131中,在移动终端,将待执行的代码文件的内容以可执行文件的形式写入到移动终端的文件系统中。随后,在子步骤S132中,由移动终端执行该可执行文件。根据一个实施例,可引入定量的对比分析方法。具体地,例如,可以使用linuxprofile等开源工具,对all_in_one程序在移动终端的各个运行阶段进行的加载和执行时间,进行量化分析。
上述应用程序的安装文件可在移动终端执行。根据一个实施方式,可通过在移动终端加载执行在云端生成的该应用程序的打包二进制程序文件(即,安装文件,如上述all_in_one),可以在移动终端的文件系统上生成有且仅有一份兼容于本地操作系统版本的目标程序文件(core),可以供其他任何程序调用执行。图5示出了根据本发明的一个实施方式在移动终端执行安装文件的过程的一例。
图6示出了根据本发明的一个实施方式由外壳程序判断移动终端的操作系统的版本的流程图。如图6所示,上述步骤S120可包括子步骤S121和S122。在子步骤S121中,在移动终端,由外壳程序获取移动终端的操作系统的信息。随后,在子步骤S122中,在移动终端,根据所获取的信息判断移动终端的操作系统的版本。例如,该信息可以是移动终端的操作系统的API号。例如,如果获取到的API号为21,则可判断出该移动终端的Android操作系统的版本为v5.0;如果获取到的API号为9,则可判断出该移动终端的Android操作系统的版本为v2.3。
图7示出了根据本发明另一示例性实施方式在移动终端安装或更新应用程序的方法的流程图。如图7所示,该方法500可包括步骤S510至S530。在步骤S510中,下载应用程序的安装文件。在此步骤中,所下载的安装文件包含两个代码文件和外壳程序,这两个代码文件分别适用于不同版本的操作系统。在步骤S520中,加载外壳程序,以由外壳程序判断移动终端的操作系统的版本。随后,在步骤S530中,根据判断结果执行两个代码文件中的一个,从而完成安装或更新过程。
可以理解,上述在结合图1进行描述的实施方式后描述的各个特征也可结合于图7所示实施方式,为了简要起见,其详细描述在此不在赘述。
上述在移动终端安装或更新应用程序的方法不仅适用于在移动终端上安装或更新普通的应用程序,也适用于超级root的底层服务程序的安装和更新。本领域技术人员可以理解,该方法可适用于Android移动开发场景下的几乎任何应用程序产品。
图8示出了根据本发明一个示例性实施方式的移动终端的框图。如图6所示,移动终端600可包括下载单元610、加载单元620和执行单元630。下载单元610可下载应用程序的安装文件,其中安装文件包含两个代码文件和外壳程序,该两个代码文件分别适用于不同版本的操作系统。加载单元620可加载外壳程序,以由外壳程序判断移动终端600的操作系统的版本。执行单元630可根据判断结果执行两个代码文件中的一个。
根据本发明的一个实施方式,上述安装文件是利用应用程序的源代码和外壳程序的源代码在云端通过编译器和二进制文件到头文件转换器生成的。
根据本发明的一个实施方式,上述两个代码文件均在云端采用动态链接方式生成并且其源文件相同,其区别在于在build时GCC编译器的选项不同。
根据本发明的一个实施方式,上述外壳程序在云端采用静态链接方式在GCC编译器选项为-static的情况下生成,并能够链接至两个代码文件中每一个的入口地址。
根据本发明的一个实施方式,外壳程序以数组形式链接两个代码文件。图9示出了根据本发明一个示例性实施方式的执行单元的框图。如图9所示,执行单元630可包括写入子单元631和执行子单元632。写入子单元631可将待执行的代码文件的内容以可执行文件的形式写入到移动终端600的文件系统中。执行子单元632可执行该可执行文件。
根据本发明的一个实施方式,当加载单元620加载外壳程序时,外壳程序获取移动终端600的操作系统的信息,并根据所获取的信息判断移动终端600的操作系统的版本。例如,该信息可以为移动终端600的操作系统的API号。
以上对本发明各实施方式的描述是为了更好地理解本发明,其仅仅是示例性的,而非旨在对本发明进行限制。应注意,在以上描述中,针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。本领域技术人员可以理解,在不脱离本发明的构思的情况下,针对以上所描述的实施方式进行的各种变化和修改,均属于本发明的范围内。
Claims (10)
1.一种在移动终端安装或更新应用程序的方法,包括:
根据移动终端的请求,将应用程序的安装文件发送给所述移动终端,其中所述安装文件包含两个代码文件和外壳程序,所述两个代码文件分别适用于不同版本的操作系统;
在所述安装文件被所述移动终端的操作系统加载时,由所述外壳程序判断所述移动终端的操作系统的版本;以及
根据判断结果执行所述两个代码文件中的一个。
2.一种在移动终端安装或更新应用程序的方法,包括:
下载应用程序的安装文件,其中所述安装文件包含两个代码文件和外壳程序,所述两个代码文件分别适用于不同版本的操作系统;
加载所述外壳程序,以由所述外壳程序判断所述移动终端的操作系统的版本;以及
根据判断结果执行所述两个代码文件中的一个。
3.如权利要求1或2所述的方法,其中所述安装文件是利用所述应用程序的源代码和所述外壳程序的源代码在云端通过编译器和二进制文件到头文件转换器生成的。
4.如权利要求3所述的方法,其中在云端通过如下步骤生成所述安装文件:
利用所述应用程序的源代码,通过GCC编译器生成适用于不同版本的操作系统的两个二进制文件;
通过BIN2INC二进制文件到头文件转换器,将所述两个二进制文件转换成两个头文件;
将所述两个头文件加入所述外壳程序的源代码中;以及
利用已包含所述两个头文件的所述外壳程序的源代码,通过所述GCC编译器生成所述应用程序的安装文件。
5.如权利要求1或2所述的方法,其中所述两个代码文件均在云端采用动态链接方式生成并且其源文件相同,其区别在于在build时GCC编译器的选项不同。
6.如权利要求1或2所述的方法,其中所述外壳程序在云端采用静态链接方式在GCC编译器选项为-static的情况下生成,并能够链接至所述两个代码文件中每一个的入口地址。
7.如权利要求1或2所述的方法,其中所述外壳程序以数组形式链接所述两个代码文件,并且根据判断结果执行所述两个代码文件中的一个包括:
在所述移动终端将待执行的代码文件的内容以可执行文件的形式写入到所述移动终端的文件系统中;以及
由所述移动终端执行所述可执行文件。
8.如权利要求1或2所述的方法,其中由所述外壳程序判断所述移动终端的操作系统的版本包括:
在所述移动终端由所述外壳程序获取所述移动终端的操作系统的信息;以及
在所述移动终端根据所获取的信息判断所述移动终端的操作系统的版本。
9.如权利要求8所述的方法,其中所述信息为所述移动终端的操作系统的API号。
10.一种移动终端,其安装有操作系统,所述移动终端包括:
下载单元,用于下载应用程序的安装文件,其中所述安装文件包含两个代码文件和外壳程序,所述两个代码文件分别适用于不同版本的操作系统;
加载单元,用于加载所述外壳程序,以由所述外壳程序判断所述移动终端的操作系统的版本;以及
执行单元,用于根据判断结果执行所述两个代码文件中的一个。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510670237.5A CN105159732B (zh) | 2015-10-13 | 2015-10-13 | 在移动终端安装或更新应用程序的方法和移动终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510670237.5A CN105159732B (zh) | 2015-10-13 | 2015-10-13 | 在移动终端安装或更新应用程序的方法和移动终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105159732A true CN105159732A (zh) | 2015-12-16 |
CN105159732B CN105159732B (zh) | 2018-08-03 |
Family
ID=54800596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510670237.5A Active CN105159732B (zh) | 2015-10-13 | 2015-10-13 | 在移动终端安装或更新应用程序的方法和移动终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105159732B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106095514A (zh) * | 2016-06-22 | 2016-11-09 | 深圳市波普安创技术有限公司 | 兼容操作系统的文件安装包及其生成下载方法 |
CN106775783A (zh) * | 2017-02-28 | 2017-05-31 | 努比亚技术有限公司 | 应用更新方法及移动终端 |
WO2017148157A1 (zh) * | 2016-03-01 | 2017-09-08 | 乐视控股(北京)有限公司 | Android设备的应用程序本地化安装方法和装置 |
CN109117154A (zh) * | 2017-06-22 | 2019-01-01 | 深圳优派汉王触控科技有限公司 | 一种自动刻录应用程序的方法和系统 |
CN109284107A (zh) * | 2018-08-03 | 2019-01-29 | 北京城市网邻信息技术有限公司 | 应用程序配置方法、装置、计算机设备及可读存储介质 |
CN109558121A (zh) * | 2018-11-26 | 2019-04-02 | 上海达梦数据库有限公司 | 接口驱动程序的开发方法、装置、设备及存储介质 |
CN110187897A (zh) * | 2019-05-28 | 2019-08-30 | 新华三技术有限公司 | 一种固件升级方法及装置 |
CN111179079A (zh) * | 2019-12-23 | 2020-05-19 | 上海金仕达软件科技有限公司 | 终端信息采集方法、装置、终端设备及存储介质 |
WO2022179338A1 (zh) * | 2021-02-24 | 2022-09-01 | Oppo广东移动通信有限公司 | 应用程序的安装方法和装置、电子设备、可读存储介质 |
WO2022183573A1 (zh) * | 2021-03-02 | 2022-09-09 | 长沙景嘉微电子股份有限公司 | 支持多内核版本的驱动安装包生成方法、安装方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6757893B1 (en) * | 1999-12-17 | 2004-06-29 | Canon Kabushiki Kaisha | Version control system for software code |
CN102520948A (zh) * | 2011-12-09 | 2012-06-27 | 福建联迪商用设备有限公司 | 应用程序维护更新方法和装置 |
CN102831204A (zh) * | 2012-08-09 | 2012-12-19 | 珠海金山网络游戏科技有限公司 | 一种具备版本控制能力的文件打包格式 |
CN102945182A (zh) * | 2012-12-06 | 2013-02-27 | 北京奇虎科技有限公司 | 应用程序更新方法和装置 |
CN104765618A (zh) * | 2015-05-06 | 2015-07-08 | 山东中孚信息产业股份有限公司 | 一种Linux系统自解压安装包的制作及解压安装方法 |
-
2015
- 2015-10-13 CN CN201510670237.5A patent/CN105159732B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6757893B1 (en) * | 1999-12-17 | 2004-06-29 | Canon Kabushiki Kaisha | Version control system for software code |
CN102520948A (zh) * | 2011-12-09 | 2012-06-27 | 福建联迪商用设备有限公司 | 应用程序维护更新方法和装置 |
CN102831204A (zh) * | 2012-08-09 | 2012-12-19 | 珠海金山网络游戏科技有限公司 | 一种具备版本控制能力的文件打包格式 |
CN102945182A (zh) * | 2012-12-06 | 2013-02-27 | 北京奇虎科技有限公司 | 应用程序更新方法和装置 |
CN104765618A (zh) * | 2015-05-06 | 2015-07-08 | 山东中孚信息产业股份有限公司 | 一种Linux系统自解压安装包的制作及解压安装方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017148157A1 (zh) * | 2016-03-01 | 2017-09-08 | 乐视控股(北京)有限公司 | Android设备的应用程序本地化安装方法和装置 |
CN106095514B (zh) * | 2016-06-22 | 2019-05-03 | 深圳市波普安创技术有限公司 | 兼容操作系统的文件安装包及其生成下载方法 |
CN106095514A (zh) * | 2016-06-22 | 2016-11-09 | 深圳市波普安创技术有限公司 | 兼容操作系统的文件安装包及其生成下载方法 |
CN106775783A (zh) * | 2017-02-28 | 2017-05-31 | 努比亚技术有限公司 | 应用更新方法及移动终端 |
CN109117154A (zh) * | 2017-06-22 | 2019-01-01 | 深圳优派汉王触控科技有限公司 | 一种自动刻录应用程序的方法和系统 |
CN109284107A (zh) * | 2018-08-03 | 2019-01-29 | 北京城市网邻信息技术有限公司 | 应用程序配置方法、装置、计算机设备及可读存储介质 |
CN109284107B (zh) * | 2018-08-03 | 2022-04-05 | 北京城市网邻信息技术有限公司 | 应用程序配置方法、装置、计算机设备及可读存储介质 |
CN109558121A (zh) * | 2018-11-26 | 2019-04-02 | 上海达梦数据库有限公司 | 接口驱动程序的开发方法、装置、设备及存储介质 |
CN110187897A (zh) * | 2019-05-28 | 2019-08-30 | 新华三技术有限公司 | 一种固件升级方法及装置 |
CN110187897B (zh) * | 2019-05-28 | 2022-05-31 | 新华三技术有限公司 | 一种固件升级方法及装置 |
CN111179079A (zh) * | 2019-12-23 | 2020-05-19 | 上海金仕达软件科技有限公司 | 终端信息采集方法、装置、终端设备及存储介质 |
WO2022179338A1 (zh) * | 2021-02-24 | 2022-09-01 | Oppo广东移动通信有限公司 | 应用程序的安装方法和装置、电子设备、可读存储介质 |
WO2022183573A1 (zh) * | 2021-03-02 | 2022-09-09 | 长沙景嘉微电子股份有限公司 | 支持多内核版本的驱动安装包生成方法、安装方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105159732B (zh) | 2018-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105159732A (zh) | 在移动终端安装或更新应用程序的方法和移动终端 | |
CN106605212B (zh) | 在动态链接的运行时环境中的模块化共同版本管理 | |
US10795652B2 (en) | Generating native code from intermediate language code for an application | |
US10296323B2 (en) | System and method for fast initial and incremental deployment of apps | |
CN103530156B (zh) | 动态加载和调用程序的方法及装置 | |
KR100952251B1 (ko) | 서비스 패키지에 의해 소프트웨어 제품을 업데이트하는 방법, 컴퓨터로 구현되는 방법, 컴퓨터 판독가능 저장 매체, 및 서비스 패키지 | |
CN105446712B (zh) | 一种应用程序缺陷修补方法及装置 | |
CN107451474B (zh) | 用于终端的软件漏洞修复方法和装置 | |
CN103647816A (zh) | 一种应用软件升级的方法及装置 | |
CN107770622B (zh) | 一种更新Linux系统中文件的方法 | |
CN103701930A (zh) | 一种移动应用程序的实时更新方法及系统 | |
EP0706684A1 (en) | System for object oriented dynamic linking based upon a catalog of registered function set or class identifiers | |
CN112835975B (zh) | 一种在区块链中部署、更新、调用智能合约的方法 | |
CN109857432B (zh) | 一种游戏应用的热更新方法和装置 | |
CN104461582A (zh) | 业务处理方法、装置以及设备 | |
CN108762800A (zh) | 应用程序的动态更新方法和装置 | |
WO2019231650A1 (en) | Extensibility of unified platform | |
CN103793248A (zh) | 一种应用程序升级的方法及装置 | |
US20190095187A1 (en) | Incremental updates in static libraries | |
CN106020882A (zh) | 一种应用升级方法、智能终端及升级系统 | |
CN111930398B (zh) | 应用程序更新方法、装置、系统、介质及设备 | |
US7987457B2 (en) | Targeted patching for native generation images | |
CN109857444B (zh) | 应用程序的更新方法、装置、电子设备和可读存储介质 | |
US20040172407A1 (en) | Method and system of processing an encapsulated file at a management computer | |
CN113641389B (zh) | 基于OpenCPU的软件升级方法、装置及设备 |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220725 Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015 Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park) Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Patentee before: Qizhi software (Beijing) Co.,Ltd. |