CN104077160A - 一种升级安卓软件的方法、设备和系统 - Google Patents
一种升级安卓软件的方法、设备和系统 Download PDFInfo
- Publication number
- CN104077160A CN104077160A CN201410197944.2A CN201410197944A CN104077160A CN 104077160 A CN104077160 A CN 104077160A CN 201410197944 A CN201410197944 A CN 201410197944A CN 104077160 A CN104077160 A CN 104077160A
- Authority
- CN
- China
- Prior art keywords
- jar
- bag
- client
- upgrading
- jar bag
- 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
本发明实施例涉及移动通信领域,尤其涉及一种升级安卓软件的方法、设备和系统,用以解决现有技术中存在的安装包体积太大的问题。本发明实施例公开的升级安卓软件的方法包括:客户端向服务器发送升级请求;所述客户端接收所述服务器返回的JAR包信息,并根据所述JAR包信息中包括的需要升级的每个JAR包对应的下载地址下载JAR包;所述客户端根据下载的JAR包进行软件升级。由于JAR包中仅包含代码,不包含其他的资源文件,因此使用JAR包升级安卓软件的安装包体积比APK安装包小。
Description
技术领域
本发明涉及移动通信领域,尤其涉及一种升级安卓软件的方法、设备和系统。
背景技术
目前有两种方式对安卓软件进行升级。
方式一:升级整个安卓软件APK(Android Package,安卓软件安装文件)。
首先将升级后的应用APK下载到本地,打开APK文件时,安卓系统会自动调用安装程序。生成APK有成熟的工具和编译脚本,更新代码的同时更新资源,比如图片、音频、视频文件、数据库文件。因此,APK安装包含了除代码外的其他的资源。导致下载的APK安装包体积太大,尤其是使用用户流量的情况,会带来额外的费用。
方式二:下载安装并调用增量APK。
下载安装并调用新的APK。如果新增了功能,原APK程序会下载一个增量APK并安装。虽然增量APK比原APK体积小,但是增量APK仍然包含除代码外的其他的资源,下载的增量APK安装包体积仍然太大。
综上所述,目前升级安卓软件的方法均存在安装包体积太大的问题。
发明内容
本发明实施例提供一种升级安卓软件的方法、设备和系统,用以解决现有技术中存在安装包体积太大的问题。
本发明实施例提供的一种升级安卓软件的方法,包括:
客户端向服务器发送升级请求;
所述客户端接收所述服务器返回的JAVA归档文件JAR包信息,并根据所述JAR包信息中包括的需要升级的每个JAR包对应的下载地址下载JAR包;
所述客户端根据下载的JAR包进行软件升级。
本发明实施例采用JAR包升级安卓软件,因为JAR包中仅包含代码,不包含其他的资源文件,因此使用JAR包升级安卓软件的安装包体积比APK安装包小,且升级时间短。
优选地,所述客户端根据下载的JAR包进行软件升级,包括:
所述客户端根据所述JAR包信息中包括的JAR包对应的签名信息进行验证,对在下载完的JAR包进行验证,并在验证通过后根据下载的JAR包进行软件升级。
本发明实施例对下载完的JAR包进行验证通过后再进行软件升级,从而可以提高升级的成功率。
优选地,所述客户端根据下列方式确定需要升级的JAR包的JAR包名称:
所述客户端从所述JAR包信息包括的所有JAR包名称中,确定第一特定JAR包名称和第二特定JAR包名称;
所述客户端将所述第一特定JAR包名称和第二特定JAR包名称对应的JAR包作为需要升级的JAR包;
其中,所述第一特定JAR包名称为所述客户端的安装目录下没有相同名称的JAR包名称;
所述第二特定JAR包名称为所述客户端的安装目录下有相同名称,但所述JAR包信息包括的对应的版本号高于所述客户端的安装目录下相同名称对应的版本号的JAR包名称。
本发明实施例分为增加和更新软件两种情况,从而既可以升级软件的某项功能,也可以增加原软件没有的功能。
优选地,所述客户端根据下载的JAR包进行软件升级,包括:
所述客户端将下载的所述第一特定JAR包名称对应的JAR包保存到所述客户端的安装目录下;
所述客户端将下载的所述第二特定JAR包名称对应的JAR包替换所述客户端的安装目录下与下载的JAR包的名称相同的JAR包。
本发明实施例升级安卓软件的方法下载后不需要安装,将JAR包保存在安装目录下即可。除JAR包本身外不占用其他的存储空间和系统资源,且不需要用户确认安装,用户升级过程更流畅平滑。
优选地,所述客户端通过下列方式确定所述客户端的安装目录下相同名称对应的版本号:
所述客户端通过调用第一类中的接口,确定所述客户端的安装目录下相同名称对应的版本号。
本发明实施例通过自定义的类和接口获取版本号,从而可以有效地避免程序出错。
优选地,所述客户端接收所述服务器返回的JAR包信息之后,还包括:
若所述JAR包信息中包括需要下载的JAR包对应的图标下载地址,所述客户端根据所述图标下载地址下载图标;
所述客户端根据下载的JAR包进行软件升级,包括:
所述客户端下载的图标保存到所述客户端的安装目录下。
本发明实施例在增加原软件没有的功能时下载图标并保存在安装目录文件下,供用户使用。
优选地,该方法还包括:
所述客户端在需要调用JAR包时,将所述JAR包加载到内存中;
所述客户端通过JAVA的反射机制,获取加载到内存中的JAR包的名称;
所述客户端根据所述JAR包的名称,调用JAR包中的第二类,以实现调用JAR包。
本发明实施例JAR包通过JAR包的名称来加载JAR包,从而可以避免加载JAR包代码时出错错误。
本发明实施例提供的一种升级安卓软件的方法,包括:
服务器接收客户端发送的升级请求;
所述服务器向所述客户端发送JAVA归档文件JAR包信息,以使所述客户端根据所述JAR包信息中包括的需要升级的每个JAR包对应的下载地址下载JAR包,并根据下载的JAR包进行软件升级。
本发明实施例采用JAR包升级安卓软件,因为JAR包中仅包含代码,不包含其他的资源文件,因此使用JAR包升级安卓软件的安装包体积比APK安装包小。
优选地,所述服务器向所述客户端发送JAR包信息,包括:
所述服务器接收所述客户端发送包含客户端程序名称和客户端程序版本的升级请求;
所述服务器向所述客户端发送JAR包信息,包括:
所述服务器确定所述升级请求包括的客户端程序名称和客户端程序版本对应的JAR包信息;
所述服务器向所述客户端返回确定的所述JAR包信息。
本发明实施例服务器确定所述升级请求包括的客户端程序名称和客户端程序版本对应的JAR包信息,从而可以保证客户端程序可以下载客户端程序版本对应的JAR包信息,避免下载出错。
本发明实施例提供的一种升级安卓软件的设备,包括:
发送单元,用于向服务器发送升级请求;
接收单元,用于接收所述服务器返回的JAVA归档文件JAR包信息,并根据所述JAR包信息中包括的需要升级的每个JAR包对应的下载地址下载JAR包;
升级单元,用于根据下载的JAR包进行软件升级。
本发明实施例采用JAR包升级安卓软件,因为JAR包中仅包含代码,不包含其他的资源文件,因此使用JAR包升级安卓软件的安装包体积比APK安装包小,且升级时间短。
优选地,所述升级单元具体用于:
根据所述JAR包信息中包括的JAR包对应的签名信息进行验证,对在下载完的JAR包进行验证,并在验证通过后根据下载的JAR包进行软件升级。
本发明实施例对下载完的JAR包进行验证通过后再进行软件升级,从而可以提高升级的成功率。
优选地,所述接收单元还用于,根据下列方式确定需要升级的JAR包的JAR包名称:
从所述JAR包信息包括的所有JAR包名称中,确定第一特定JAR包名称和第二特定JAR包名称;将所述第一特定JAR包名称和第二特定JAR包名称对应的JAR包作为需要升级的JAR包;
其中,所述第一特定JAR包名称为所述客户端的安装目录下没有相同名称的JAR包名称;所述第二特定JAR包名称为所述客户端的安装目录下有相同名称,但所述JAR包信息包括的对应的版本号高于所述客户端的安装目录下相同名称对应的版本号的JAR包名称。
本发明实施例分为增加和更新软件两种情况,从而既可以升级软件的某项功能,也可以增加原软件没有的功能。
优选地,所述升级单元具体用于:
将下载的所述第一特定JAR包名称对应的JAR包保存到所述客户端的安装目录下;将下载的所述第二特定JAR包名称对应的JAR包替换所述客户端的安装目录下与下载的JAR包的名称相同的JAR包。
本发明实施例升级安卓软件的方法下载后不需要安装,将JAR包保存在安装目录下即可。除JAR包本身外不占用其他的存储空间和系统资源,且不需要用户确认安装,用户升级过程更流畅平滑。
优选地,所述接收单元具体用于:
通过调用第一类中的接口,确定所述客户端的安装目录下相同名称对应的版本号。
本发明实施例通过自定义的类和接口获取版本号,从而可以有效地避免程序出错。
优选地,所述接收单元还用于:
若所述JAR包信息中包括需要下载的JAR包对应的图标下载地址,根据所述图标下载地址下载图标;
所述升级单元还用于,将下载的图标保存到所述客户端的安装目录下。
本发明实施例在增加原软件没有的功能时下载图标并保存在安装目录文件下,供用户使用。
优选地,所述升级单元还用于:
在需要调用JAR包时,将所述JAR包加载到内存中;通过JAVA的反射机制,获取加载到内存中的JAR包的名称;根据所述JAR包的名称,调用JAR包中的第二类,以实现调用JAR包。
本发明实施例JAR包通过JAR包的名称来加载JAR包,从而可以避免加载JAR包代码时出错错误。
本发明实施例提供的一种升级安卓软件的设备,包括:
请求接收单元,用于接收客户端发送的升级请求;
信息发送单元,用于向所述客户端发送JAVA归档文件JAR包信息,以使所述客户端根据所述JAR包信息中包括的需要升级的每个JAR包对应的下载地址下载JAR包,并根据下载的JAR包进行软件升级。
本发明实施例采用JAR包升级安卓软件,因为JAR包中仅包含代码,不包含其他的资源文件,因此使用JAR包升级安卓软件的安装包体积比APK安装包小。
优选地,所述请求接收单元具体用于:
接收所述客户端发送包含客户端程序名称和客户端程序版本的升级请求;
所述信息发送单元具体用于:
确定所述升级请求包括的客户端程序名称和客户端程序版本对应的JAR包信息;返回确定的所述JAR包信息。
本发明实施例服务器确定所述升级请求包括的客户端程序名称和客户端程序版本对应的JAR包信息,从而可以保证客户端程序可以下载客户端程序版本对应的JAR包信息,避免下载出错。
本发明实施例提供的一种升级安卓软件的系统,包括客户端和服务器;
所述客户端,用于向服务器发送升级请求;接收所述服务器返回的JAVA归档文件JAR包信息,并根据所述JAR包信息中包括的需要升级的每个JAR包对应的下载地址下载JAR包;根据下载的JAR包进行软件升级;
所述服务器,用于接收客户端发送的升级请求;向所述客户端发送JAR包信息,以使所述客户端根据所述JAR包信息中包括的需要升级的每个JAR包对应的下载地址下载JAR包,并根据下载的JAR包进行软件升级。
本发明实施例采用JAR包升级安卓软件,因为JAR包中仅包含代码,不包含其他的资源文件,因此使用JAR包升级安卓软件的安装包体积比APK安装包小,且升级时间短。
附图说明
图1为本发明实施例一提供的一种升级安卓软件的方法;
图2为本发明实施例二提供的一种升级安卓软件的方法;
图3为本发明实施例三提供的一种升级安卓软件的设备;
图4为本发明实施例四提供的一种升级安卓软件的设备;
图5为本发明实施例五提供的一种升级安卓软件的系统;
图6为本发明实施例六提供的一种升级安卓软件的方法。
具体实施方式
本发明实施例客户端向服务器发送升级请求,根据服务器返回的JAR包信息中的下载地址下载JAR包,并在下载完成将JAR放在安装目录文件下完成升级。通过下载JAR(JAVA Archive,JAVA归档文件)包进行安卓软件的升级,因为JAR包体积较小,从而可以有效减小安装包的体积。
为了使本发明所解决的技术问题、技术方案以及有效果更加清楚明白,以下结合附图及实施例,对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明实施例一提供的一种升级安卓软件的方法,该方法包括:
步骤101、客户端向服务器发送升级请求。
步骤102、客户端接收服务器返回的JAVA归档文件JAR包信息,并根据JAR包信息中包括的需要升级的每个JAR包对应的下载地址下载JAR包。
步骤103、客户端根据下载的JAR包进行软件升级。
步骤101中,本发明实施例中客户端程序启动后,会自动向服务器发送软件升级的请求。升级的请求包含客户端程序名称和客户端程序版本等信息的升级请求,以使服务器确定升级请求包括的客户端程序名称和客户端程序版本对应的JAR包信息。
步骤102中,客户端接收服务器返回的JAR包信息,其中JAR包信息包括由各个JAR包名称组成的JAR包列表或JAR包序列。每个JAR包名称又对应签名信息、下载地址、JAR包版本号、图标下载地址等信息。
优选地,客户端根据下列方式确定需要升级的JAR包的JAR包名称:
客户端从JAR包信息包括的所有JAR包名称中,确定第一特定JAR包名称和第二特定JAR包名称。
客户端将第一特定JAR包名称和第二特定JAR包名称对应的JAR包作为需要升级的JAR包。
其中,第一特定JAR包名称为客户端的安装目录下没有相同名称的JAR包名称。
第二特定JAR包名称为客户端的安装目录下有相同名称,但JAR包信息包括的对应的版本号高于客户端的安装目录下相同名称对应的版本号的JAR包名称。
本发明实施例中,第一特定JAR包名称对应的模块功能为客户端程序新增加的功能,若需要升级的JAR包为第一特定JAR包名称对应JAR包,则需要下载该JAR包。若第二特定JAR包名称对应的模块功能在客户端程序中已经存在,需要升级的功能所的JAR包,则需要比较JAR包信息包括的对应的版本号和安装目录下相同名称对应的版本号,若JAR包信息包括的对应的版本号高于安装目录下相同名称对应的版本号,则存在第二特定JAR包名称,需要下载该JAR包,若JAR包信息包括的对应的版本号不高于安装目录下相同名称对应的版本号,则不存在第二特定JAR包名称,无需下载该JAR包。
优选地,客户端通过下列方式确定客户端的安装目录下相同名称对应的版本号:
客户端通过调用第一类中的接口,确定客户端的安装目录下相同名称对应的版本号。
本发明实施例中,获取安装目录下相同名称对应的版本号具体为:
客户端程序将JAR包加载到内存中。
客户端程序找到JAR包下的名为FunctionFileInfo的类。该类实现了IfunctionFileInfo接口,该接口中定义了名为getVersion()的获取版本号方法。
<!--[if!supportAnnotations]-->
<!--[endif]-->
客户端程序通过调用FunctionFileInfo类中的名为getVersion()的方法获取JAR包的版本号。
<!--[if!supportAnnotations]-->
<!--[if!supportAnnotations]-->
<!--[endif]-->
优选地,客户端接收服务器返回的JAR包信息之后,还包括:
若JAR包信息中包括需要下载的JAR包对应的图标下载地址,客户端根据图标下载地址下载图标。
客户端根据下载的JAR包进行软件升级,包括:
客户端下载的图标保存到客户端的安装目录下。
本发明实施例中,从JAR包信息包括的所有JAR包名称中,确定存在第一特定JAR包名称,则需要下载该JAR包。同时需要下载该JAR包对应的图标,并将该图标保存到客户端的安装目录下。
步骤103中,客户端根据下载的JAR包进行软件升级。
优选地,客户端根据下载的JAR包进行软件升级,包括:
客户端将下载的第一特定JAR包名称对应的JAR包保存到客户端的安装目录下;
客户端将下载的第二特定JAR包名称对应的JAR包替换客户端的安装目录下与下载的JAR包的名称相同的JAR包。
本发明实施例中,第一特定JAR包名称对应的JAR包,原客户端程序不存在,因此直接保存到客户端的安装目录下即可。对于第二特定JAR包名称对应的JAR包,需要将该JAR包下载完成以后替换原JAR包。
现有技术中利用APK进行升级软件,首先用户需要确认下载APK,下载完成以后用户需要确认安装APK,安装过程中需要停用软件进行安装,安装完成以后才可以运行。而本发明实施例中,客户端程序以后会自动发送升级请求,自动下载JAR包,且无需停用软件,直接将JAR包保存在安装目录下即可,在需要调用时即可随时调用,无需用户确认安装,用户感觉不到升级的过程。也可以提示用户进行升级,由用户选择是否升级,或者在升级完成以后提示用于该软件已进行升级。
优选地,客户端根据下载的JAR包进行软件升级,包括:
客户端根据JAR包信息中包括的JAR包对应的签名信息进行验证,对在下载完的JAR包进行验证,并在验证通过后根据下载的JAR包进行软件升级。
本发明实施例中,对于下载的JAR包需要进行签名认证。具体步骤分为加签和解密两个过程:
加签:
步骤一、服务器对生成的JAR包进行MD5(Message Digest Algorithm5,消息摘要算法第五版)摘要算法,得到JAR包的摘要信息。
步骤二、服务器使用私钥对步骤1031生成摘要信息进行DES(DataEncryption Algorithm,数据加密算法)加密。
步骤三、服务器使用RSA(Ron Rivest、Adi Shamir、Leonard Adleman三人名字的缩写,公钥加密算法)的私钥对DES加密时使用的对称密钥进行加密,得到DES对称密钥加密信息。
步骤四、服务器将DES加密后的摘要信息和DES对称密钥加密信息发送到客户端。
解密:
步骤五、客户端收到信息后,客户端使用RSA的公钥对DES对称密钥加密信息解密得到DES的对称密钥。
步骤六、客户端使用DES对称密钥对DES加密后的摘要信息进行解密,得到明文的摘要信息A。
步骤七、客户端对生成的JAR包进行MD5摘要算法,得到JAR包的摘要信息B。比较两摘要信息A与摘要信息B,如果相同则签名验证通过,否则签名验证失败。
客户端程序验证签名信息的作用是验证JAR包的完整性、JAR包是否被篡改、JAR包是否由所述服务器发送。
优选地,该方法还包括:
客户端在需要调用JAR包时,将JAR包加载到内存中。
客户端通过JAVA的反射机制,获取加载到内存中的JAR包的名称。
客户端根据JAR包的名称,调用JAR包中的第二类,以实现调用JAR包。
本发明实施例中,代码要得到运行一定要先加载进入内存。是被客户端程序调用的前提。通过JAVA的反射机制实现。
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为JAVA语言的反射机制。
反射的时候需要知道映射对象的名称与路径信息。而这个名称与路径信息可以通过预先定义的协议获得。对象的名称就是IndexView,路径就是JAR包的保存的名称,该名称通过JAR包信息获得。
在创建JAR包时,需要在原src项目下新建一个package包。
在新建的包中创建名为IndexView的类并继承View或者View的子类。
在新建的IndexView中定义如下构造方法,该方法是子功能模块的入口方法,客户端程序通过这个方法与JAR包建立通讯。
public IndexView(final FunctionInActivity context){}
具体的调用过程为:主程序调用子JAR包功能时建立通讯。主程序会固定调用JAR包的IndexView这个类。从而让JAR包在程序中运行起来。相当于JAR包的启动入口。实现客户端程序发送消息到JAR包。JAR包可以在IndexView中返回数据数据给主程序,从而实现JAR包到客户端程序的通讯。客户端程序能发送数据到JAR包,JAR包可以返回数据到客户端程序,这个过程称之为通讯。View在安卓中是一个视图。JAR包实现的功能需要与用户交互就要继承View。
本发明实施例中的JAR包指与客户端程序即主程序对应的子JAR包。
由于子JAR包本身没有安全机制,发明实施例采用签名验证的方式实现安全机制。服务器对JAR包进行加签,签名信息通过加密传输到安卓客户端软件。安卓客户端解密后对下载的JAR包进行签名验证。如果签名验证失败,则不加载该JAR包,已确保JAR包不被篡改同时保证JAR包的完整性。
由于JAR包自身是代码(字节码)的集合,主程序通过动态加载和反射机制加载JAR包代码时,非常容易出错,比如代码中的方法名不相同或者方法的参数类型不相同都会导致程序出错。因此我们定义了协议来帮助JAR包和主程序通讯。创建JAR包时只需要按照定义好的流程和封装好的接口创建即可完成JAR包代码与主程序代码的通讯,不需要额外的工作来建立连接。通过接口将JAR包包逻辑中的View(视图)与逻辑分开,JAR包只需要现实自己的View(视图)和逻辑即可,不用关心如何与主程序通讯。
由于JAR包中不包含资源文件,资源文件比如图片,JAR包可以通过网络获取或者使用主程序中已有的资源。布局文件通过代码来编写实现,不依赖外部的资源。编写代码时遵循自定义的规范来避免因为加载JAR包代码带来的错误,比如JAR包代码中不用是R类来获取资源,而是应该通过资源名称来获取。程序设计为主程序不强依赖JAR包的内容。这样只要JAR包遵循预定义的协议的前提下可以任意的修改业务逻辑和View(视图)。
由于JAR包动态加载用到JAVA反射机制。但安卓系统有其特殊性,JAR包需要经过dx(批处理),经过dx处理的jar包才能被Android采用的dalvik(虚拟机)处理因此生成JAR包还需要dx处理。本发明实施例中的JAR包生成后自动进行dx处理,自动对JAR包进行加签,JAR包生成后自动生成主程序APK,以便需要升级整个客户端程序。本发明实施例中的JAR包采用Ant自动化编译,通过修改build.xml文件实现自动编译,自动生成JAR包和主程序APK,同时还会自动对JAR包进行加签。
本发明实施例中自定义的协议包括:
在原项目的src文件下新建一个package包。
在新建的包中创建名为functionFileInfo的类并实现IfunctionFileInfo接口。
在新建的包中创建名为IndexView的类并继承View或者View的子类。
在新建的IndexView中定义如下构造方法,该方法是子功能模块的入口方法,主程序通过这个方法与JAR包建立通讯。
public IndexView(final FunctionInActivity context){}
本发明实施例采用JAR包更新方式,JAR包相比APK要小很多,一般APK体积为几MB(MegaByte,兆字节)至几十MB,而JAR包体积仅为几KB(KiloByte,千字节)至几十KB,从而大大减少用户升级的成本,且升级时间较短。本发明实施例通过动态加载经过自定义的安全机制验证且实现了自定义协议的JAR包,从而实现安卓软件的升级,用户升级更平滑。升级成本的降低以及用户升级体验的提升解决了因安卓软件更新带来的流量问题和频繁更新时用户需要频繁确认的问题,从而可以提高软件更新的频率,更新频率的提高,企业就能及时将修改、新功能等更新操作同步到用户,同时用户也能获得更好的体验。
如图2所示,本发明实施例二提供的一种升级安卓软件的方法,该方法包括:
步骤201、服务器接收客户端发送的升级请求。
步骤202、服务器向客户端发送JAVA归档文件JAR包信息,以使客户端根据JAR包信息中包括的需要升级的每个JAR包对应的下载地址下载JAR包,并根据下载的JAR包进行软件升级。
由于安卓系统对JAR包没有版本管理,因此本发明实施例提供了一套JAR包管理系统,该系统支持多应用JAR包分别管理以及同一应用多版本的JAR包分别管理,即不同的应用获取到的JAR包是不同的,同一个应用的不同版本获取到的JAR包也是不同的。可以对JAR包的状态,包括启用与停用,进行管理,可以管理JAR包的签名信息,配置JAR包的下载地址等。服务器接收客户端发送的升级请求后,由JAR包管理系统配置相应的JAR包信息发送给客户端。
优选地,服务器向客户端发送JAR包信息,包括:
服务器接收客户端发送包含客户端程序名称和客户端程序版本的升级请求。
服务器向客户端发送JAR包信息,包括:
服务器确定升级请求包括的客户端程序名称和客户端程序版本对应的JAR包信息。
服务器向客户端返回确定的JAR包信息。
本发明实施例中,由于不同应用的客户端程序版本不同,不同的客户端程序版本对应的JAR包信息也不同,因为低程序版本的应用如果下载高程序版本的应用对应的JAR包,可能出现不兼容或无法调用资源等异常情况,因此服务器需要将户端程序名称和客户端程序版本对应的JAR包信息返回给客户端。
本文提案能降低企业的运营和维护成本,通过自定义的JAR包管理系统,企业可以灵活的管理多个应用及应用版本的JAR包,从而降低企业开发和维护成本,提升新用户体验的同时能保留更多的老用户。本发明实施例采用JAR包更新方式,JAR包相比APK要小很多,一般APK体积为几MB至几十MB,而JAR包体积仅为几KB至几十KB,从而大大减少用户升级的成本,且升级时间较短。本发明实施例通过动态加载经过自定义的安全机制验证且实现了自定义协议的JAR包,从而实现安卓软件的升级,用户升级更平滑。升级成本的降低以及用户升级体验的提升解决了因安卓软件更新带来的流量问题和频繁更新时用户需要频繁确认的问题,从而可以提高软件更新的频率,更新频率的提高,企业就能及时将修改、新功能等更新操作同步到用户,同时用户也能获得更好的体验。
针对上述方法流程,本发明实施例还提供一种升级安卓软件的设备和系统,这些设备和系统的具体内容可以参照上述方法实施,在此不再赘述。
如图3所示,本发明实施例三提供的一种升级安卓软件的设备,该设备包括:
发送单元301,用于向服务器发送升级请求。
接收单元302,用于接收服务器返回的JAVA归档文件JAR包信息,并根据JAR包信息中包括的需要升级的每个JAR包对应的下载地址下载JAR包。
升级单元303,用于根据下载的JAR包进行软件升级。
优选地,升级单元303具体用于:
根据JAR包信息中包括的JAR包对应的签名信息进行验证,对在下载完的JAR包进行验证,并在验证通过后根据下载的JAR包进行软件升级。
优选地,接收单元302还用于,根据下列方式确定需要升级的JAR包的JAR包名称:
从JAR包信息包括的所有JAR包名称中,确定第一特定JAR包名称和第二特定JAR包名称;将第一特定JAR包名称和第二特定JAR包名称对应的JAR包作为需要升级的JAR包。
其中,第一特定JAR包名称为客户端的安装目录下没有相同名称的JAR包名称;第二特定JAR包名称为客户端的安装目录下有相同名称,但JAR包信息包括的对应的版本号高于客户端的安装目录下相同名称对应的版本号的JAR包名称。
优选地,升级单元303具体用于:
将下载的第一特定JAR包名称对应的JAR包保存到客户端的安装目录下;将下载的第二特定JAR包名称对应的JAR包替换客户端的安装目录下与下载的JAR包的名称相同的JAR包。
优选地,接收单元302具体用于:
通过调用第一类中的接口,确定客户端的安装目录下相同名称对应的版本号。
优选地,接收单元302还用于:
若JAR包信息中包括需要下载的JAR包对应的图标下载地址,根据图标下载地址下载图标。
升级单元303还用于,将下载的图标保存到客户端的安装目录下。
优选地,升级单元303还用于:
在需要调用JAR包时,将JAR包加载到内存中;通过JAVA的反射机制,获取加载到内存中的JAR包的名称;根据JAR包的名称,调用JAR包中的第二类,以实现调用JAR包。
如图4所示,本发明实施例四提供的一种升级安卓软件的设备,该设备包括:
请求接收单元401,用于接收客户端发送的升级请求。
信息发送单元402,用于向客户端发送JAVA归档文件JAR包信息,以使客户端根据JAR包信息中包括的需要升级的每个JAR包对应的下载地址下载JAR包,并根据下载的JAR包进行软件升级。
优选地,请求接收单元401具体用于:
接收客户端发送包含客户端程序名称和客户端程序版本的升级请求。
信息发送单元402具体用于:
确定升级请求包括的客户端程序名称和客户端程序版本对应的JAR包信息;返回确定的JAR包信息。
如图5所示,本发明实施例五提供的一种升级安卓软件的系统,该系统包括客户端501和服务器502。
客户端501,用于向服务器502发送升级请求;接收服务器502返回的JAVA归档文件JAR包信息,并根据JAR包信息中包括的需要升级的每个JAR包对应的下载地址下载JAR包;根据下载的JAR包进行软件升级。
服务器502,用于接收客户端501发送的升级请求;向客户端501发送JAR包信息,以使客户端501根据JAR包信息中包括的需要升级的每个JAR包对应的下载地址下载JAR包,并根据下载的JAR包进行软件升级。
如图6所示,本发明实施例六提供的一种升级安卓软件的方法,该方法包括:
步骤601、客户端程序开始运行。
步骤602、客户端向服务器发送升级请求,升级请求包括客户端程序名称与客户端程序的户端程序版本等信息。
步骤603、服务器根据客户端程序名称与客户端程序的户端程序版本返回对应的JAR包列表,JAR包列表包括每个JAR包的JAR包信息,所述JAR包信息包括但不限于签名信息、JAR包版本号、下载地址、图标下载地址等。
步骤604、客户端确定JAR包在本地是否存在,若存在执行步骤605,若不存在,执行步骤606。
步骤605、下载JAR包,执行步骤607。
步骤606、客户端确定JAR包是否需要更新,若需要更新执行步骤607,若不需要执行更新,执行步骤607。
步骤607、验证JAR包的签名信息,若验证通过执行步骤608,若不通过执行步骤609。
步骤608、加载JAR包代码。
步骤609、结束。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (19)
1.一种升级安卓软件的方法,其特征在于,包括:
客户端向服务器发送升级请求;
所述客户端接收所述服务器返回的JAVA归档文件JAR包信息,并根据所述JAR包信息中包括的需要升级的每个JAR包对应的下载地址下载JAR包;
所述客户端根据下载的JAR包进行软件升级。
2.如权利要求1所述的方法,其特征在于,所述客户端根据下载的JAR包进行软件升级,包括:
所述客户端根据所述JAR包信息中包括的JAR包对应的签名信息进行验证,对在下载完的JAR包进行验证,并在验证通过后根据下载的JAR包进行软件升级。
3.如权利要求1所述的方法,其特征在于,所述客户端根据下列方式确定需要升级的JAR包的JAR包名称:
所述客户端从所述JAR包信息包括的所有JAR包名称中,确定第一特定JAR包名称和第二特定JAR包名称;
所述客户端将所述第一特定JAR包名称和第二特定JAR包名称对应的JAR包作为需要升级的JAR包;
其中,所述第一特定JAR包名称为所述客户端的安装目录下没有相同名称的JAR包名称;
所述第二特定JAR包名称为所述客户端的安装目录下有相同名称,但所述JAR包信息包括的对应的版本号高于所述客户端的安装目录下相同名称对应的版本号的JAR包名称。
4.如权利要求3所述的方法,其特征在于,所述客户端根据下载的JAR包进行软件升级,包括:
所述客户端将下载的所述第一特定JAR包名称对应的JAR包保存到所述客户端的安装目录下;
所述客户端将下载的所述第二特定JAR包名称对应的JAR包替换所述客户端的安装目录下与下载的JAR包的名称相同的JAR包。
5.如权利要求3所述的方法,其特征在于,所述客户端通过下列方式确定所述客户端的安装目录下相同名称对应的版本号:
所述客户端通过调用第一类中的接口,确定所述客户端的安装目录下相同名称对应的版本号。
6.如权利要求1所述的方法,其特征在于,所述客户端接收所述服务器返回的JAR包信息之后,还包括:
若所述JAR包信息中包括需要下载的JAR包对应的图标下载地址,所述客户端根据所述图标下载地址下载图标;
所述客户端根据下载的JAR包进行软件升级,包括:
所述客户端下载的图标保存到所述客户端的安装目录下。
7.如权利要求1所述的方法,其特征在于,该方法还包括:
所述客户端在需要调用JAR包时,将所述JAR包加载到内存中;
所述客户端通过JAVA的反射机制,获取加载到内存中的JAR包的名称;
所述客户端根据所述JAR包的名称,调用JAR包中的第二类,以实现调用JAR包。
8.一种升级安卓软件的方法,其特征在于,包括:
服务器接收客户端发送的升级请求;
所述服务器向所述客户端发送JAVA归档文件JAR包信息,以使所述客户端根据所述JAR包信息中包括的需要升级的每个JAR包对应的下载地址下载JAR包,并根据下载的JAR包进行软件升级。
9.如权利要求8所述的方法,其特征在于,所述服务器向所述客户端发送JAR包信息,包括:
所述服务器接收所述客户端发送包含客户端程序名称和客户端程序版本的升级请求;
所述服务器向所述客户端发送JAR包信息,包括:
所述服务器确定所述升级请求包括的客户端程序名称和客户端程序版本对应的JAR包信息;
所述服务器向所述客户端返回确定的所述JAR包信息。
10.一种升级安卓软件的设备,其特征在于,包括:
发送单元,用于向服务器发送升级请求;
接收单元,用于接收所述服务器返回的JAVA归档文件JAR包信息,并根据所述JAR包信息中包括的需要升级的每个JAR包对应的下载地址下载JAR包;
升级单元,用于根据下载的JAR包进行软件升级。
11.如权利要求10所述的设备,其特征在于,所述升级单元具体用于:
根据所述JAR包信息中包括的JAR包对应的签名信息进行验证,对在下载完的JAR包进行验证,并在验证通过后根据下载的JAR包进行软件升级。
12.如权利要求10所述的设备,其特征在于,所述接收单元还用于,根据下列方式确定需要升级的JAR包的JAR包名称:
从所述JAR包信息包括的所有JAR包名称中,确定第一特定JAR包名称和第二特定JAR包名称;将所述第一特定JAR包名称和第二特定JAR包名称对应的JAR包作为需要升级的JAR包;
其中,所述第一特定JAR包名称为所述客户端的安装目录下没有相同名称的JAR包名称;所述第二特定JAR包名称为所述客户端的安装目录下有相同名称,但所述JAR包信息包括的对应的版本号高于所述客户端的安装目录下相同名称对应的版本号的JAR包名称。
13.如权利要求12所述的设备,其特征在于,所述升级单元具体用于:
将下载的所述第一特定JAR包名称对应的JAR包保存到所述客户端的安装目录下;将下载的所述第二特定JAR包名称对应的JAR包替换所述客户端的安装目录下与下载的JAR包的名称相同的JAR包。
14.如权利要求12所述的设备,其特征在于,所述接收单元具体用于:
通过调用第一类中的接口,确定所述客户端的安装目录下相同名称对应的版本号。
15.如权利要求10所述的设备,其特征在于,所述接收单元还用于:
若所述JAR包信息中包括需要下载的JAR包对应的图标下载地址,根据所述图标下载地址下载图标;
所述升级单元还用于,将下载的图标保存到所述客户端的安装目录下。
16.如权利要求10所述的设备,其特征在于,所述升级单元还用于:
在需要调用JAR包时,将所述JAR包加载到内存中;通过JAVA的反射机制,获取加载到内存中的JAR包的名称;根据所述JAR包的名称,调用JAR包中的第二类,以实现调用JAR包。
17.一种升级安卓软件的设备,其特征在于,包括:
请求接收单元,用于接收客户端发送的升级请求;
信息发送单元,用于向所述客户端发送JAVA归档文件JAR包信息,以使所述客户端根据所述JAR包信息中包括的需要升级的每个JAR包对应的下载地址下载JAR包,并根据下载的JAR包进行软件升级。
18.如权利要求17所述的设备,其特征在于,所述请求接收单元具体用于:
接收所述客户端发送包含客户端程序名称和客户端程序版本的升级请求;
所述信息发送单元具体用于:
确定所述升级请求包括的客户端程序名称和客户端程序版本对应的JAR包信息;返回确定的所述JAR包信息。
19.一种升级安卓软件的系统,其特征在于,包括客户端和服务器;
所述客户端,用于向服务器发送升级请求;接收所述服务器返回的JAVA归档文件JAR包信息,并根据所述JAR包信息中包括的需要升级的每个JAR包对应的下载地址下载JAR包;根据下载的JAR包进行软件升级;
所述服务器,用于接收客户端发送的升级请求;向所述客户端发送JAR包信息,以使所述客户端根据所述JAR包信息中包括的需要升级的每个JAR包对应的下载地址下载JAR包,并根据下载的JAR包进行软件升级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410197944.2A CN104077160B (zh) | 2014-05-12 | 2014-05-12 | 一种升级安卓软件的方法、设备和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410197944.2A CN104077160B (zh) | 2014-05-12 | 2014-05-12 | 一种升级安卓软件的方法、设备和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104077160A true CN104077160A (zh) | 2014-10-01 |
CN104077160B CN104077160B (zh) | 2018-04-03 |
Family
ID=51598431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410197944.2A Active CN104077160B (zh) | 2014-05-12 | 2014-05-12 | 一种升级安卓软件的方法、设备和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104077160B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468464A (zh) * | 2015-11-25 | 2016-04-06 | 国云科技股份有限公司 | 一种在web应用中实现在线升级代码的方法 |
CN106201607A (zh) * | 2016-07-04 | 2016-12-07 | 乐视控股(北京)有限公司 | 一种软件版本的升级方法及设备 |
CN106257423A (zh) * | 2016-08-04 | 2016-12-28 | 微鲸科技有限公司 | 软件升级方法以及用户终端 |
CN106708494A (zh) * | 2015-11-18 | 2017-05-24 | 北京神州泰岳软件股份有限公司 | Jar升级方法及装置 |
CN107239298A (zh) * | 2017-04-28 | 2017-10-10 | 北京五八信息技术有限公司 | 应用程序调试方法及装置 |
CN108234414A (zh) * | 2016-12-16 | 2018-06-29 | 北京京东尚科信息技术有限公司 | 一种app应用的升级方法及装置 |
CN108829425A (zh) * | 2018-07-26 | 2018-11-16 | 中国电子科技网络信息安全有限公司 | 一种针对国产操作系统上的应用软件在线升级管控方法 |
CN108958771A (zh) * | 2018-07-03 | 2018-12-07 | 百度在线网络技术(北京)有限公司 | 应用程序的更新方法、装置、服务器及存储介质 |
CN108984199A (zh) * | 2018-08-01 | 2018-12-11 | 北京车联天下信息技术有限公司 | 应用功能更新方法、更新装置及电子设备 |
CN112486509A (zh) * | 2020-10-29 | 2021-03-12 | 贝壳技术有限公司 | 一种Jar包组件热部署方法及系统 |
CN112882733A (zh) * | 2021-02-04 | 2021-06-01 | 网易(杭州)网络有限公司 | 应用更新方法及装置、电子设备、存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593118A (zh) * | 2009-02-24 | 2009-12-02 | 浪潮集团山东通用软件有限公司 | 一种灵活的软件升级的方法 |
CN101656739A (zh) * | 2009-09-25 | 2010-02-24 | 金蝶软件(中国)有限公司 | 组件更新方法、系统及设备 |
CN102081523A (zh) * | 2009-11-27 | 2011-06-01 | 浙江省公众信息产业有限公司 | 一种动态加载系统和方法 |
CN102724308A (zh) * | 2012-06-13 | 2012-10-10 | 腾讯科技(深圳)有限公司 | 软件更新方法及软件更新系统 |
CN102915247A (zh) * | 2012-08-31 | 2013-02-06 | 杭州斯凯网络科技有限公司 | Apk插件化管理方法 |
CN103353844A (zh) * | 2013-06-25 | 2013-10-16 | 亿赞普(北京)科技有限公司 | 一种软件开发工具包升级方法和系统 |
CN103428188A (zh) * | 2012-05-25 | 2013-12-04 | 北京小米科技有限责任公司 | 一种文件更新方法、装置及相关设备 |
US20140007075A1 (en) * | 2012-06-27 | 2014-01-02 | Google Inc. | Methods for updating applications |
CN103677877A (zh) * | 2012-09-12 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 一种本地广告软件开发包升级的方法及装置 |
-
2014
- 2014-05-12 CN CN201410197944.2A patent/CN104077160B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593118A (zh) * | 2009-02-24 | 2009-12-02 | 浪潮集团山东通用软件有限公司 | 一种灵活的软件升级的方法 |
CN101656739A (zh) * | 2009-09-25 | 2010-02-24 | 金蝶软件(中国)有限公司 | 组件更新方法、系统及设备 |
CN102081523A (zh) * | 2009-11-27 | 2011-06-01 | 浙江省公众信息产业有限公司 | 一种动态加载系统和方法 |
CN103428188A (zh) * | 2012-05-25 | 2013-12-04 | 北京小米科技有限责任公司 | 一种文件更新方法、装置及相关设备 |
CN102724308A (zh) * | 2012-06-13 | 2012-10-10 | 腾讯科技(深圳)有限公司 | 软件更新方法及软件更新系统 |
US20140007075A1 (en) * | 2012-06-27 | 2014-01-02 | Google Inc. | Methods for updating applications |
CN102915247A (zh) * | 2012-08-31 | 2013-02-06 | 杭州斯凯网络科技有限公司 | Apk插件化管理方法 |
CN103677877A (zh) * | 2012-09-12 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 一种本地广告软件开发包升级的方法及装置 |
CN103353844A (zh) * | 2013-06-25 | 2013-10-16 | 亿赞普(北京)科技有限公司 | 一种软件开发工具包升级方法和系统 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708494B (zh) * | 2015-11-18 | 2020-11-27 | 北京神州泰岳软件股份有限公司 | Jar升级方法及装置 |
CN106708494A (zh) * | 2015-11-18 | 2017-05-24 | 北京神州泰岳软件股份有限公司 | Jar升级方法及装置 |
CN105468464A (zh) * | 2015-11-25 | 2016-04-06 | 国云科技股份有限公司 | 一种在web应用中实现在线升级代码的方法 |
CN106201607A (zh) * | 2016-07-04 | 2016-12-07 | 乐视控股(北京)有限公司 | 一种软件版本的升级方法及设备 |
CN106257423A (zh) * | 2016-08-04 | 2016-12-28 | 微鲸科技有限公司 | 软件升级方法以及用户终端 |
CN108234414A (zh) * | 2016-12-16 | 2018-06-29 | 北京京东尚科信息技术有限公司 | 一种app应用的升级方法及装置 |
CN108234414B (zh) * | 2016-12-16 | 2021-08-10 | 北京京东振世信息技术有限公司 | 一种app应用的升级方法及装置 |
CN107239298A (zh) * | 2017-04-28 | 2017-10-10 | 北京五八信息技术有限公司 | 应用程序调试方法及装置 |
CN107239298B (zh) * | 2017-04-28 | 2021-02-19 | 北京五八信息技术有限公司 | 应用程序调试方法及装置 |
CN108958771A (zh) * | 2018-07-03 | 2018-12-07 | 百度在线网络技术(北京)有限公司 | 应用程序的更新方法、装置、服务器及存储介质 |
CN108958771B (zh) * | 2018-07-03 | 2022-05-20 | 百度在线网络技术(北京)有限公司 | 应用程序的更新方法、装置、服务器及存储介质 |
CN108829425A (zh) * | 2018-07-26 | 2018-11-16 | 中国电子科技网络信息安全有限公司 | 一种针对国产操作系统上的应用软件在线升级管控方法 |
CN108829425B (zh) * | 2018-07-26 | 2021-10-19 | 中国电子科技网络信息安全有限公司 | 一种针对国产操作系统上的应用软件在线升级管控方法 |
CN108984199A (zh) * | 2018-08-01 | 2018-12-11 | 北京车联天下信息技术有限公司 | 应用功能更新方法、更新装置及电子设备 |
CN108984199B (zh) * | 2018-08-01 | 2021-06-04 | 无锡车联天下信息技术有限公司 | 应用功能更新方法、更新装置及电子设备 |
CN112486509A (zh) * | 2020-10-29 | 2021-03-12 | 贝壳技术有限公司 | 一种Jar包组件热部署方法及系统 |
CN112882733A (zh) * | 2021-02-04 | 2021-06-01 | 网易(杭州)网络有限公司 | 应用更新方法及装置、电子设备、存储介质 |
CN112882733B (zh) * | 2021-02-04 | 2023-09-08 | 网易(杭州)网络有限公司 | 应用更新方法及装置、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104077160B (zh) | 2018-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104077160A (zh) | 一种升级安卓软件的方法、设备和系统 | |
CN108551487B (zh) | PaaS平台的应用部署方法、装置、服务器及存储介质 | |
CN108595221B (zh) | PaaS平台的插件加载方法、装置、服务器及存储介质 | |
CN108845812B (zh) | 插件更新方法、装置、计算机设备和存储介质 | |
CN109561118B (zh) | 软件升级方法、装置、系统、存储介质、电子设备及车辆 | |
CN104063239B (zh) | 移动终端的应用程序更新方法及服务器、客户端 | |
KR101299099B1 (ko) | 임베디드 시스템에서 최적화된 가상화 모듈을 관리하는 장치 및 방법 | |
US20060200814A1 (en) | Software distribution with activation control | |
US20040098715A1 (en) | Over the air mobile device software management | |
US20040168165A1 (en) | Update system employing reference software to reduce number of update packages | |
CN102830992A (zh) | 插件加载方法及系统 | |
CN105302563A (zh) | 移动应用服务的插件化方法及系统 | |
EP2887607A1 (en) | Migration of assets of a trusted execution environment | |
CN106201607A (zh) | 一种软件版本的升级方法及设备 | |
CN104852971B (zh) | 一种插件式协议装置及基于插件式协议的数据通信方法 | |
US20190034186A1 (en) | Method for managing objects in a secure element | |
US11645086B2 (en) | System and method for implementing a filesystem agent management solution | |
CN103793248A (zh) | 一种应用程序升级的方法及装置 | |
CN107508846B (zh) | 应用客户端的更新方法和系统及终端设备 | |
CN105373406A (zh) | 基于Android平台的应用布局动态切换方法及系统 | |
CN105320503A (zh) | 中间件插件框架设计系统及方法 | |
KR20170044850A (ko) | 안드로이드 어플리케이션 동적 로딩 방법 | |
EP3764224B1 (en) | Resource permission processing method and apparatus, and storage medium and chip | |
CN105242910A (zh) | 基于中间件插件框架的插件状态控制方法及客户端 | |
CN109992295B (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 |