CN103793248B - Method and device for upgrading application program - Google Patents
Method and device for upgrading application program Download PDFInfo
- Publication number
- CN103793248B CN103793248B CN201410033251.XA CN201410033251A CN103793248B CN 103793248 B CN103793248 B CN 103793248B CN 201410033251 A CN201410033251 A CN 201410033251A CN 103793248 B CN103793248 B CN 103793248B
- Authority
- CN
- China
- Prior art keywords
- specified component
- directory address
- application
- component object
- application program
- 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
本发明公开了一种应用程序升级的方法及装置,其中,所述方法包括:获取待升级的应用程序的安装包;从所述安装包中提取指定的组件对象信息;依据所述指定的组件对象信息确定所述应用程序中指定的组件对象;采用所述指定的组件对象信息加载所述指定的组件对象。本发明用以解决程序升级过程繁琐的问题,不需要用户进行升级操作也可完成应用程序的升级,能够快速完成升级,提高用户体验度。
The invention discloses a method and device for upgrading an application program, wherein the method includes: obtaining the installation package of the application program to be upgraded; extracting specified component object information from the installation package; The object information determines the specified component object in the application program; the specified component object is loaded by using the specified component object information. The invention is used to solve the problem of cumbersome program upgrading process, can complete the upgrading of the application program without the user performing the upgrading operation, can quickly complete the upgrading, and improves user experience.
Description
技术领域technical field
本发明涉及数据处理的技术领域,具体涉及一种应用程序升级的方法,以及,一种应用程序升级的装置。The present invention relates to the technical field of data processing, in particular to a method for upgrading an application program and a device for upgrading an application program.
背景技术Background technique
在具体实现中,应用程序经过一段时间的使用,就会逐步显现出自身的一些漏洞和缺陷,这些漏洞和缺陷无法满足日益发展应用程序的要求,因此应用程序开发商必须定期或者不定期对应用程序本身的漏洞和缺陷进行修复和更正,因此不断产生新的应用程序的安装包,以满足应用程序升级的要求。In the specific implementation, after a period of use, the application program will gradually show some loopholes and defects of its own. These loopholes and defects cannot meet the requirements of the growing application program. The loopholes and defects of the program itself are repaired and corrected, so new application installation packages are constantly generated to meet the requirements of application upgrades.
用户要更新应用程序时,需要先下载该应用程序的安装包放到指定位置,再去使用该安装包,通常会弹出系统提示框,用户根据提示进行相应的操作才可以升级该应用程序。另外,由于应用程序的升级是一个持续的过程,所以会不断出现新的安装包,用户也需要不断地进行更新,对于部分用户来说,升级过程比较繁琐,且需要耗费一定的时间,用户的体验效果差。When the user wants to update the application program, he needs to download the installation package of the application program and put it in the specified location, and then use the installation package. Usually, a system prompt box will pop up, and the user can perform corresponding operations according to the prompt to upgrade the application program. In addition, because the upgrade of the application program is a continuous process, there will be new installation packages constantly, and users need to update continuously. For some users, the upgrade process is cumbersome and takes a certain amount of time. The experience is poor.
发明内容Contents of the invention
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种应用程序升级的方法,以及,一种应用程序升级的装置。In view of the above problems, the present invention is proposed to provide a method for upgrading an application program and an apparatus for upgrading an application program, which overcome the above problems or at least partially solve the above problems.
依据本发明的一个方面,提供了一种应用程序升级的方法,包括:According to one aspect of the present invention, a method for updating an application program is provided, including:
获取待升级的应用程序的安装包;Obtain the installation package of the application program to be upgraded;
从所述安装包中提取指定的组件对象信息;Extracting specified component object information from the installation package;
依据所述指定的组件对象信息确定所述应用程序中指定的组件对象;Determine the specified component object in the application according to the specified component object information;
采用所述指定的组件对象信息加载所述指定的组件对象。The specified component object is loaded by using the specified component object information.
可选地,所述指定的组件对象信息包括当前类加载器的目录地址,所述应用程序中指定的组件对象包括类加载器;Optionally, the specified component object information includes the directory address of the current class loader, and the specified component object in the application program includes the class loader;
所述采用指定的组件对象信息加载所述指定的组件对象的步骤包括:The step of loading the specified component object by using the specified component object information includes:
采用所述应用程序中的反射对象获取所述应用程序中的原始类加载器的目录地址;Obtaining the directory address of the original class loader in the application by using the reflection object in the application;
将原始类加载器的目录地址修改为当前类加载器的目录地址。Change the directory address of the original class loader to the directory address of the current class loader.
从所述当前类加载器的目录地址加载所述类加载器。The class loader is loaded from the directory address of the current class loader.
可选地,所述指定的组件对象信息包括当前应用对象的目录地址,所述应用程序中指定的组件对象包括应用对象;Optionally, the specified component object information includes a directory address of the current application object, and the specified component object in the application program includes an application object;
所述采用指定的组件对象信息加载所述指定的组件对象的步骤包括:The step of loading the specified component object by using the specified component object information includes:
采用所述应用程序中的反射对象获取所述应用程序中的原始应用对象的目录地址;Obtaining the directory address of the original application object in the application by using the reflection object in the application;
将原始应用对象的目录地址修改为当前应用对象的目录地址。Modify the directory address of the original application object to the directory address of the current application object.
从所述当前应用对象的目录地址加载所述应用对象。The application object is loaded from the directory address of the current application object.
可选地,所述指定的组件对象信息包括当前资源数据的目录地址,所述应用程序中指定的组件对象包括资源数据;Optionally, the specified component object information includes a directory address of current resource data, and the specified component object in the application program includes resource data;
所述采用指定的组件对象信息加载所述指定的组件对象的步骤包括:The step of loading the specified component object by using the specified component object information includes:
采用所述应用程序中的反射对象获取所述应用程序中的原始资源数据的目录地址;Obtaining the directory address of the original resource data in the application program by using the reflection object in the application program;
将原始资源数据的目录地址修改为当前资源数据的目录地址。Change the directory address of the original resource data to the directory address of the current resource data.
从所述当前资源数据的目录地址加载所述资源数据。The resource data is loaded from the directory address of the current resource data.
可选地,所述指定的组件对象信息包括当前包管理器的目录地址,所述应用程序中指定的组件对象包括包管理器;Optionally, the specified component object information includes the directory address of the current package manager, and the specified component object in the application program includes the package manager;
所述采用指定的组件对象信息加载所述指定的组件对象的步骤包括:The step of loading the specified component object by using the specified component object information includes:
采用所述应用程序中的反射对象获取所述应用程序中的原始包管理器的目录地址;Obtaining the directory address of the original package manager in the application by using the reflection object in the application;
将原始包管理器的目录地址修改为当前包管理器的目录地址。Change the directory address of the original package manager to the directory address of the current package manager.
从所述当前包管理器的目录地址加载所述包管理器。The package manager is loaded from the directory address of the current package manager.
根据本发明的另一方面,提供了一种应用程序升级的装置,包括:According to another aspect of the present invention, a device for updating application programs is provided, including:
获取模块,适于获取待升级的应用程序的安装包;An acquisition module, adapted to acquire the installation package of the application program to be upgraded;
提取模块,适于从所述安装包中提取指定的组件对象信息;An extraction module, adapted to extract specified component object information from the installation package;
确定模块,适于依据所述指定的组件对象信息确定所述应用程序中指定的组件对象;A determining module, adapted to determine the specified component object in the application according to the specified component object information;
加载模块,适于采用所述指定的组件对象信息加载所述指定的组件对象。A loading module, adapted to load the specified component object by using the specified component object information.
可选地,所述指定的组件对象信息包括当前类加载器的目录地址,所述应用程序中指定的组件对象包括类加载器;Optionally, the specified component object information includes the directory address of the current class loader, and the specified component object in the application program includes the class loader;
所述加载模块包括:The loading modules include:
第一地址获取子模块,适于采用所述应用程序中的反射对象获取所述应用程序中的原始类加载器的目录地址;The first address obtaining submodule is adapted to obtain the directory address of the original class loader in the application program by using the reflection object in the application program;
第一地址修改子模块,适于将原始类加载器的目录地址修改为当前类加载器的目录地址。The first address modifying submodule is adapted to modify the directory address of the original class loader to the directory address of the current class loader.
第一加载子模块,适于从所述当前类加载器的目录地址加载所述类加载器。The first loading submodule is adapted to load the class loader from the directory address of the current class loader.
可选地,所述指定的组件对象信息包括当前应用对象的目录地址,所述应用程序中指定的组件对象包括应用对象;Optionally, the specified component object information includes a directory address of the current application object, and the specified component object in the application program includes an application object;
所述加载模块包括:The loading modules include:
第二地址获取子模块,适于采用所述应用程序中的反射对象获取所述应用程序中的原始应用对象的目录地址;The second address obtaining submodule is adapted to obtain the directory address of the original application object in the application program by using the reflection object in the application program;
第二地址修改子模块,适于将原始应用对象的目录地址修改为当前应用对象的目录地址。The second address modifying submodule is adapted to modify the directory address of the original application object to the directory address of the current application object.
第二加载子模块,适于从所述当前应用对象的目录地址加载所述应用对象。The second loading submodule is adapted to load the application object from the directory address of the current application object.
可选地,所述指定的组件对象信息包括当前资源数据的目录地址,所述应用程序中指定的组件对象包括资源数据;Optionally, the specified component object information includes a directory address of current resource data, and the specified component object in the application program includes resource data;
所述加载模块包括:The loading modules include:
第三地址获取子模块,适于采用所述应用程序中的反射对象获取所述应用程序中的原始资源数据的目录地址;The third address obtaining submodule is adapted to obtain the directory address of the original resource data in the application program by using the reflection object in the application program;
第三地址修改子模块,适于将原始资源数据的目录地址修改为当前资源数据的目录地址。The third address modification sub-module is adapted to modify the directory address of the original resource data to the directory address of the current resource data.
第三加载子模块,适于从所述当前资源数据的目录地址加载所述资源数据。The third loading submodule is adapted to load the resource data from the directory address of the current resource data.
可选地,所述指定的组件对象信息包括当前包管理器的目录地址,所述应用程序中指定的组件对象包括包管理器;Optionally, the specified component object information includes the directory address of the current package manager, and the specified component object in the application program includes the package manager;
所述加载模块包括:The loading modules include:
第四地址获取子模块,适于采用所述应用程序中的反射对象获取所述应用程序中的原始包管理器的目录地址;The fourth address obtaining submodule is adapted to obtain the directory address of the original package manager in the application program by using the reflection object in the application program;
第四地址修改子模块,适于将原始包管理器的目录地址修改为当前包管理器的目录地址。The fourth address modifying submodule is adapted to modify the directory address of the original package manager to the directory address of the current package manager.
第四加载子模块,适于从所述当前包管理器的目录地址加载所述包管理器。The fourth loading submodule is adapted to load the package manager from the directory address of the current package manager.
根据本发明的一种应用程序升级的方法,以及,一种应用程序升级的装置,可以在获取到应用程序的安装包后,提取按照包中指定的组件对象信息,并根据指定的组件对象信息确定应用程序中的指定组件对象,采用该指定的组件对象信息加载指定的组件对象,打破了android规定的权限,通过将对象组件由原始的加载地址,重定向到安装包中新的地址来加载组件对象,实现了应用程序的自动升级,由此解决了传统应用程序升级过程繁琐的问题,不需要用户进行升级操作也可完成应用程序的升级,取得了快速完成升级,提高用户体验度的有益效果。According to a method for upgrading an application program and a device for upgrading an application program according to the present invention, after obtaining the installation package of the application program, it can extract the component object information specified in the package, and according to the specified component object information Determine the specified component object in the application, use the specified component object information to load the specified component object, break the permissions stipulated by android, and load the object component by redirecting the original loading address to the new address in the installation package The component object realizes the automatic upgrade of the application program, thereby solving the problem of the cumbersome upgrade process of the traditional application program, and the upgrade of the application program can be completed without the need for the user to perform the upgrade operation, which has achieved the benefits of completing the upgrade quickly and improving the user experience Effect.
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。The above description is only an overview of the technical solution of the present invention. In order to better understand the technical means of the present invention, it can be implemented according to the contents of the description, and in order to make the above and other purposes, features and advantages of the present invention more obvious and understandable , the specific embodiments of the present invention are enumerated below.
附图说明Description of drawings
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the preferred embodiment. The drawings are only for the purpose of illustrating a preferred embodiment and are not to be considered as limiting the invention. Also throughout the drawings, the same reference numerals are used to designate the same parts. In the attached picture:
图1示出了根据本发明一个实施例的一种应用程序升级的方法实施例的步骤流程图;FIG. 1 shows a flow chart of steps of an embodiment of a method for upgrading an application program according to an embodiment of the present invention;
图2示出了根据本发明一个实施例的一种应用程序升级的装置实施例的结构框图。Fig. 2 shows a structural block diagram of an embodiment of an apparatus for updating an application program according to an embodiment of the present invention.
具体实施方式detailed description
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited by the embodiments set forth herein. Rather, these embodiments are provided for more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.
参照图1,示出了根据本发明一个实施例的一种应用程序升级的方法实施例的步骤流程图,具体可以包括如下步骤:Referring to FIG. 1 , it shows a flow chart of steps of an embodiment of a method for upgrading an application program according to an embodiment of the present invention, which may specifically include the following steps:
步骤101,获取待升级的应用程序的安装包;Step 101, obtaining the installation package of the application program to be upgraded;
在本发明的实施例中,应用程序可以是适用于计算设备的版本或者适用于移动设备的版本。例如,计算设备版本的手机助手应用程序,如PC版的手机助手应用程序,或者,移动设备版本的手机助手应用程序,如Android版的手机助手应用程序。In an embodiment of the invention, the application may be a version adapted for a computing device or a version adapted for a mobile device. For example, the computing device version of the mobile assistant application, such as the PC version of the mobile assistant application, or the mobile device version of the mobile assistant application, such as the Android version of the mobile assistant application.
在具体实现中,终端设备中安装有很多应用程序,可以包括用户安装的应用程序和系统内置的应用程序。应用程序所在的终端设备可以预设检测机制来检测是否存在新的APK(Android Package,安装包),例如,可以在终端设备安装手机助手或者其他应用程序,用以查询该终端设备有哪些应用程序需要升级。具体地,当手机助手检测到需要升级的应用程序较多时,终端设备侧的手机助手可以将已安装应用的应用程序包名和应用程序版本号以Gzip格式压缩处理,然后通过HTTP请求的形式发送到网络侧服务器,从而获取到经过安全检测中心的审核认证,绿色无毒,安全的APK。采用手机助手获取应用程序APK的方式,可以节省流量,并且更快捷、更方便、更安全地获取网络资源。In a specific implementation, many application programs are installed in the terminal device, which may include application programs installed by users and application programs built in the system. The terminal device where the application program is located can preset a detection mechanism to detect whether there is a new APK (Android Package, installation package). For example, a mobile assistant or other applications can be installed on the terminal device to query which applications the terminal device has Need to upgrade. Specifically, when the mobile assistant detects that there are many applications that need to be upgraded, the mobile assistant on the terminal device side can compress the application package name and application version number of the installed application in Gzip format, and then send it to the The server on the network side obtains a green, non-toxic, and safe APK that has been audited and certified by the Security Testing Center. Using the mobile phone assistant to obtain the APK of the application program can save traffic and obtain network resources more quickly, conveniently and safely.
在实际应用中,手机助手可以设置为每隔预定时间间隔检测一次,当检测到网络侧服务器存在新的APK时,通过HTTP请求的形式或者其他方式来获取APK,为了保护获取到的新的APK,方便用户管理或者数据读取,可以将其存储到指定的位置,比如安装到移动设备内存或者移动设备SD卡中,另外,还可以采用智能的方式根据APK的特征(APK的大小)安装到合适的位置。在具体实现中,可以优先考虑将APK存储于SD卡中,方便用户管理,同时不会占用因为移动设备内存,而导致移动设备速度的变慢。例如,可以将APK保存于:sdcard/download/data。In practical applications, the mobile assistant can be set to detect once at a predetermined time interval. When it detects that there is a new APK on the network side server, it will obtain the APK in the form of an HTTP request or other methods. In order to protect the obtained new APK , which is convenient for user management or data reading. It can be stored in a designated location, such as installed in the mobile device memory or SD card of the mobile device. In addition, it can also be installed in an intelligent way according to the characteristics of the APK (the size of the APK). Suitable location. In a specific implementation, it is possible to give priority to storing the APK in the SD card, which is convenient for the user to manage, and at the same time will not occupy the memory of the mobile device, which will slow down the speed of the mobile device. For example, APK can be saved in: sdcard/download/data.
当然,在实际应用中,也可以是服务器发布有新的APK时,主动将该APK发送给终端设备,本发明实施例对此不作限制。Of course, in practical applications, when a new APK is released by the server, the server may actively send the APK to the terminal device, which is not limited in this embodiment of the present invention.
步骤102,从所述安装包中提取指定的组件对象信息;Step 102, extracting specified component object information from the installation package;
在实际应用中,可以事先在应用程序中设置相应的配置信息,其中,在所述配置信息中可以设置获取组件对象信息的指示信息,当获取到带升级的应用程序的APK时,依据配置信息从APK中获取指定的组件对象信息。In practical applications, corresponding configuration information can be set in the application program in advance, wherein the instruction information for obtaining component object information can be set in the configuration information, and when the APK with the upgraded application program is obtained, according to the configuration information Get the specified component object information from the APK.
步骤103,依据所述指定的组件对象信息确定所述应用程序中指定的组件对象;Step 103, determining the specified component object in the application according to the specified component object information;
在本发明实施例中,可以从APK中提取指定的组件对象信息,再根据组件对象信息来确定应用程序中需要进行升级的组件对象。In the embodiment of the present invention, specified component object information can be extracted from the APK, and then the component objects in the application that need to be upgraded can be determined according to the component object information.
步骤104,采用所述指定的组件对象信息加载所述指定的组件对象。Step 104, using the specified component object information to load the specified component object.
在本发明的一种优选实施例中,所述指定的组件对象信息包括当前类加载器的目录地址,所述应用程序中指定的组件对象可以包括类加载器;In a preferred embodiment of the present invention, the specified component object information includes the directory address of the current class loader, and the specified component object in the application program may include the class loader;
所述步骤104可以包括如下子步骤:The step 104 may include the following sub-steps:
子步骤S11,采用所述应用程序中的反射对象获取所述应用程序中的原始类加载器的目录地址;Sub-step S11, using the reflection object in the application to obtain the directory address of the original class loader in the application;
子步骤S12,将原始类加载器的目录地址修改为当前类加载器的目录地址。Sub-step S12, changing the directory address of the original class loader to the directory address of the current class loader.
子步骤S13,从所述当前类加载器的目录地址加载所述类加载器。Sub-step S13, loading the class loader from the directory address of the current class loader.
在本发明实施例中,由于在Android系统中,一些未公开的功能不可以通过API接口直接调用,因此采用JAVA反射机制来调用一些未公开的功能,来实应用程序的升级。具体而言,JAVA反射机制是在应用程序在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为JAVA语言的反射机制。In the embodiment of the present invention, because in the Android system, some undisclosed functions cannot be directly called through the API interface, so the JAVA reflection mechanism is used to call some undisclosed functions to implement the upgrade of the application program. Specifically, the JAVA reflection mechanism is that when the application is running, for any class, you can know all the properties and methods of this class; for any object, you can call any of its methods and properties; The function of dynamically obtaining information and dynamically calling methods of objects is called the reflection mechanism of the JAVA language.
当运行应用程序时,首先运行JVM(Java虚拟机),再将应用程序的类加载到JVM里头运行,负责加载应用程序的类的这部分就是类加载器。在本发明实施例中,修改类加载器的目的在于修改应用程序的代码,具体修改的代码可以包括应用程序中的类。采用JAVA反射机制将应用程序中原始类加载器的目录地址修改为新的APK中类加载器的目录地址,当应用程序再次加载时,可以直接从新的类加载器的目录地址加载,修改后的类加载器在应用程序启动时需要加载的类也被修改,那么就可以实现例如应用程序新功能的增加,应用程序中BUG的修改等应用程序的升级。When running an application, first run the JVM (Java Virtual Machine), and then load the application class into the JVM to run. The part responsible for loading the application class is the class loader. In the embodiment of the present invention, the purpose of modifying the class loader is to modify the code of the application program, and the specifically modified code may include classes in the application program. Use the JAVA reflection mechanism to modify the directory address of the original class loader in the application to the directory address of the class loader in the new APK. When the application is loaded again, it can be loaded directly from the directory address of the new class loader. The modified The classes that the class loader needs to load when the application program is started are also modified, so that the upgrade of the application program such as the addition of new functions of the application program and the modification of BUG in the application program can be realized.
在本发明的一种优选实施例中,所述指定的组件对象信息可以包括当前应用对象的目录地址,所述应用程序中指定的组件对象可以包括应用对象;In a preferred embodiment of the present invention, the specified component object information may include the directory address of the current application object, and the specified component object in the application program may include the application object;
所述步骤104可以包括如下子步骤:The step 104 may include the following sub-steps:
子步骤S21,采用所述应用程序中的反射对象获取所述应用程序中的原始应用对象的目录地址;Sub-step S21, using the reflection object in the application to obtain the directory address of the original application object in the application;
子步骤S22,将原始应用对象的目录地址修改为当前应用对象的目录地址。Sub-step S22, changing the directory address of the original application object to the directory address of the current application object.
子步骤S23,从所述当前应用对象的目录地址加载所述应用对象。Sub-step S23, loading the application object from the directory address of the current application object.
在本发明实施例中,修改应用对象的目的在于修改应用程序中的启动逻辑顺序,具体而言,即应用程序中的类的加载顺序。在具体实现中,经过应用程序一段时间的使用,发现应用程序中采用其他顺序来加载类可以更好地使用应用程序,或者,应用程序通过修改类加载器增加了新的功能,可以采用反射机制将应用对象的加载地址修改为新的APK中应用对象的加载地址,当应用程序再次加载时可以直接从新的应用对象的目录地址加载,应用程序中类的启动逻辑顺序就发生了变化,例如,应用程序启动时将启动新增加功能部分。In the embodiment of the present invention, the purpose of modifying the application object is to modify the startup logic sequence in the application program, specifically, the loading sequence of the classes in the application program. In the specific implementation, after using the application for a period of time, it is found that loading classes in other order in the application can make better use of the application, or the application adds new functions by modifying the class loader, and the reflection mechanism can be used Change the loading address of the application object to the loading address of the application object in the new APK. When the application is loaded again, it can be loaded directly from the directory address of the new application object, and the logical order of the classes in the application will change. For example, The New Additions section will launch when the application starts.
在本发明的一种优选实施例中,所述指定的组件对象信息包括当前资源数据的目录地址,所述应用程序中指定的组件对象包括资源数据;In a preferred embodiment of the present invention, the specified component object information includes the directory address of the current resource data, and the specified component object in the application program includes resource data;
所述步骤104可以包括如下子步骤:The step 104 may include the following sub-steps:
子步骤S31,采用所述应用程序中的反射对象获取所述应用程序中的原始资源数据的目录地址;Sub-step S31, using the reflection object in the application to obtain the directory address of the original resource data in the application;
子步骤S32,将原始资源数据的目录地址修改为当前资源数据的目录地址。Sub-step S32, modifying the directory address of the original resource data to the directory address of the current resource data.
子步骤S33,从所述当前资源数据的目录地址加载所述资源数据。Sub-step S33, loading the resource data from the directory address of the current resource data.
在具体实现中,所述资源数据可以是图片资源或者是文本资源,例如,主题、壁纸、铃声、软件、音乐、游戏、视频、电子书等等。资源数据具有文件属性信息,其中,文件属性信息包括资源的大小、资源的类型、资源的版本号、资源的标识等等。In a specific implementation, the resource data may be image resources or text resources, for example, themes, wallpapers, ringtones, software, music, games, videos, e-books and so on. The resource data has file attribute information, wherein the file attribute information includes the size of the resource, the type of the resource, the version number of the resource, the identifier of the resource, and so on.
在实际中图片资源或者是文本资源需要经常更新,例如应用程序可能由于新的功能的增加而需相应的增加图标,在本发明实施例中,只需要将应用程序中的图片修改为从新的APK中的图片的中加载,当应用程序再次加载时可以直接从新的图片的目录地址加载,以此完成应用程序中的图片的更新。In practice, picture resources or text resources need to be updated frequently. For example, an application program may need to add icons due to the increase of new functions. In the embodiment of the present invention, only the pictures in the application program need to be modified from the new APK The pictures in the application can be loaded directly from the directory address of the new picture when the application is loaded again, so as to complete the update of the pictures in the application.
在本发明的一种优选实施例中,所述指定的组件对象信息包括当前包管理器的目录地址,所述应用程序中指定的组件对象包括包管理器;In a preferred embodiment of the present invention, the specified component object information includes the directory address of the current package manager, and the specified component object in the application program includes the package manager;
所述步骤104可以包括如下子步骤:The step 104 may include the following sub-steps:
子步骤S41,采用所述应用程序中的反射对象获取所述应用程序中的原始包管理器的目录地址;Sub-step S41, using the reflection object in the application to obtain the directory address of the original package manager in the application;
子步骤S42,将原始包管理器的目录地址修改为当前包管理器的目录地址。Sub-step S42, changing the directory address of the original package manager to the directory address of the current package manager.
子步骤S43,从所述当前包管理器的目录地址加载所述包管理器。Sub-step S43, loading the package manager from the directory address of the current package manager.
在具体实现中,还可以对应用程序的包管理器的加载地址进行修改,以说明该应用程序已经实现一定程度上的更新,具体而言,可以将应用程序中的包管理器的目录地址重新定位到APK中包管理器的地址中,当应用程序再次加载时可以直接从新的包管理器的目录地址加载,例如,原本应用程序加载包管理器后显示为9.0版本,重新定位包管理器地址后加载后显示为9.1版本。In a specific implementation, the loading address of the package manager of the application program can also be modified to indicate that the application program has been updated to a certain extent. Specifically, the directory address of the package manager in the application program can be changed to Locate to the address of the package manager in the APK. When the application is loaded again, it can be loaded directly from the directory address of the new package manager. For example, after the original application loads the package manager, it is displayed as version 9.0, and the address of the package manager is relocated. After loading, it is displayed as version 9.1.
在本发明实施例中采用重定向及反射技术来实现应用程序的自动升级。当获取到新的APK时,获取该APK中指定组件对象的目录地址,并根据所述指定组件的目录地址将应用程序中原始的指定件对象的目录地址修改为新的APK中指定组件对象的目录地址,当应用程序再次加载指定组件对象时,就不再从原始的指定件对象的目录地址进行加载,而是直接从新的APK中指定组件对象的目录地址进行加载,由此解决了传统应用程序升级过程繁琐的问题,不需要用户进行升级操作也可完成应用程序的升级,取得了快速完成升级,提高用户体验度的有益效果。在实际中,还可以采用转发技术来实现应用程序的升级,即当需要从原始的指定件对象的目录地址加载指定的组件对象时,跳转到新的APK的指定组件的目录地址去加载指定的组件对象。In the embodiment of the present invention, redirection and reflection technologies are used to realize automatic upgrading of application programs. When a new APK is obtained, obtain the directory address of the specified component object in the APK, and modify the directory address of the original specified component object in the application program to the specified component object in the new APK according to the directory address of the specified component Directory address, when the application loads the specified component object again, it will no longer load from the directory address of the original specified component object, but directly load from the directory address of the specified component object in the new APK, thus solving the problem of traditional application The program upgrade process is cumbersome, and the upgrade of the application program can be completed without the need for the user to perform the upgrade operation, and the beneficial effect of quickly completing the upgrade and improving the user experience is achieved. In practice, forwarding technology can also be used to upgrade the application, that is, when the specified component object needs to be loaded from the directory address of the original specified component object, jump to the directory address of the specified component of the new APK to load the specified component object.
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。It should be noted that, for the method embodiment, for the sake of simple description, it is expressed as a series of action combinations, but those skilled in the art should know that the present invention is not limited by the described action order, because according to this According to the invention, certain steps may be performed in other order or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification belong to preferred embodiments, and the actions and modules involved are not necessarily required by the present invention.
参照图2,示出了根据本发明一个实施例的一种应用程序升级的装置实施例的结构框图,具体可以包括如下模块:Referring to FIG. 2 , it shows a structural block diagram of an embodiment of an application program upgrade device embodiment according to an embodiment of the present invention, which may specifically include the following modules:
获取模块201,适于获取待升级的应用程序的安装包;Obtaining module 201, adapted to obtain the installation package of the application program to be upgraded;
提取模块202,适于从所述安装包中提取指定的组件对象信息;An extraction module 202, adapted to extract specified component object information from the installation package;
确定模块203,适于依据所述指定的组件对象信息确定所述应用程序中指定的组件对象;A determining module 203, adapted to determine the specified component object in the application according to the specified component object information;
加载模块204,适于采用所述指定的组件对象信息加载所述指定的组件对象。The loading module 204 is adapted to use the specified component object information to load the specified component object.
在本发明的一种优选实施例中,所述指定的组件对象信息包括当前类加载器的目录地址,所述应用程序中指定的组件对象包括类加载器;In a preferred embodiment of the present invention, the specified component object information includes the directory address of the current class loader, and the specified component object in the application program includes the class loader;
所述加载模块204可以包括:The loading module 204 may include:
第一地址获取子模块,适于采用所述应用程序中的反射对象获取所述应用程序中的原始类加载器的目录地址;The first address obtaining submodule is adapted to obtain the directory address of the original class loader in the application program by using the reflection object in the application program;
第一地址修改子模块,适于将原始类加载器的目录地址修改为当前类加载器的目录地址。The first address modification submodule is adapted to modify the directory address of the original class loader to the directory address of the current class loader.
第一加载子模块,适于从所述当前类加载器的目录地址加载所述类加载器。The first loading submodule is adapted to load the class loader from the directory address of the current class loader.
在本发明的一种优选实施例中,所述指定的组件对象信息包括当前应用对象的目录地址,所述应用程序中指定的组件对象包括应用对象;In a preferred embodiment of the present invention, the specified component object information includes the directory address of the current application object, and the specified component object in the application program includes the application object;
所述加载模块204可以包括:The loading module 204 may include:
第二地址获取子模块,适于采用所述应用程序中的反射对象获取所述应用程序中的原始应用对象的目录地址;The second address obtaining submodule is adapted to obtain the directory address of the original application object in the application program by using the reflection object in the application program;
第二地址修改子模块,适于将原始应用对象的目录地址修改为当前应用对象的目录地址。The second address modifying submodule is adapted to modify the directory address of the original application object to the directory address of the current application object.
第二加载子模块,适于从所述当前应用对象的目录地址加载所述应用对象。The second loading submodule is adapted to load the application object from the directory address of the current application object.
在本发明的一种优选实施例中,所述指定的组件对象信息包括当前资源数据的目录地址,所述应用程序中指定的组件对象包括资源数据;In a preferred embodiment of the present invention, the specified component object information includes the directory address of the current resource data, and the specified component object in the application program includes resource data;
所述加载模块204可以包括:The loading module 204 may include:
第三地址获取子模块,适于采用所述应用程序中的反射对象获取所述应用程序中的原始资源数据的目录地址;The third address obtaining submodule is adapted to obtain the directory address of the original resource data in the application program by using the reflection object in the application program;
第三地址修改子模块,适于将原始资源数据的目录地址修改为当前资源数据的目录地址。The third address modification sub-module is adapted to modify the directory address of the original resource data to the directory address of the current resource data.
第三加载子模块,适于从所述当前资源数据的目录地址加载所述资源数据。The third loading submodule is adapted to load the resource data from the directory address of the current resource data.
在本发明的一种优选实施例中,所述指定的组件对象信息包括当前包管理器的目录地址,所述应用程序中指定的组件对象包括包管理器;In a preferred embodiment of the present invention, the specified component object information includes the directory address of the current package manager, and the specified component object in the application program includes the package manager;
所述加载模块204可以包括:The loading module 204 may include:
第四地址获取子模块,适于采用所述应用程序中的反射对象获取所述应用程序中的原始包管理器的目录地址;The fourth address obtaining submodule is adapted to obtain the directory address of the original package manager in the application program by using the reflection object in the application program;
第四地址修改子模块,适于将原始包管理器的目录地址修改为当前包管理器的目录地址。The fourth address modifying submodule is adapted to modify the directory address of the original package manager to the directory address of the current package manager.
第四加载子模块,适于从所述当前包管理器的目录地址加载所述包管理器。The fourth loading submodule is adapted to load the package manager from the directory address of the current package manager.
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and for related parts, please refer to the part of the description of the method embodiment.
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。The algorithms and displays presented herein are not inherently related to any particular computer, virtual system, or other device. Various generic systems can also be used with the teachings based on this. The structure required to construct such a system is apparent from the above description. Furthermore, the present invention is not specific to any particular programming language. It should be understood that various programming languages can be used to implement the content of the present invention described herein, and the above description of specific languages is for disclosing the best mode of the present invention.
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure the understanding of this description.
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, in order to streamline this disclosure and to facilitate an understanding of one or more of the various inventive aspects, various features of the invention are sometimes grouped together in a single embodiment, figure, or its description. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the Detailed Description are hereby expressly incorporated into this Detailed Description, with each claim standing on its own as a separate embodiment of this invention.
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。Those skilled in the art can understand that the modules in the device in the embodiment can be adaptively changed and arranged in one or more devices different from the embodiment. Modules or units or components in the embodiments may be combined into one module or unit or component, and furthermore may be divided into a plurality of sub-modules or sub-units or sub-assemblies. All features disclosed in this specification (including accompanying claims, abstract and drawings) and any method or method so disclosed may be used in any combination, except that at least some of such features and/or processes or units are mutually exclusive. All processes or units of equipment are combined. Each feature disclosed in this specification (including accompanying claims, abstract and drawings), may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。Furthermore, those skilled in the art will understand that although some embodiments described herein include some features included in other embodiments but not others, combinations of features from different embodiments are meant to be within the scope of the invention. and form different embodiments. For example, in the following claims, any of the claimed embodiments may be used in any combination.
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的应用程序模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的应用程序升级设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。The various component embodiments of the present invention may be implemented in hardware, or in application program modules running on one or more processors, or in a combination thereof. Those skilled in the art should understand that a microprocessor or a digital signal processor (DSP) may be used in practice to implement some or all functions of some or all components in the application program upgrading device according to the embodiment of the present invention. The present invention can also be implemented as an apparatus or an apparatus program (for example, a computer program and a computer program product) for performing a part or all of the methods described herein. Such a program for realizing the present invention may be stored on a computer-readable medium, or may be in the form of one or more signals. Such a signal may be downloaded from an Internet site, or provided on a carrier signal, or provided in any other form.
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention can be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In a unit claim enumerating several means, several of these means can be embodied by one and the same item of hardware. The use of the words first, second, and third, etc. does not indicate any order. These words can be interpreted as names.
本发明公开了A1、一种应用程序升级的方法,包括:The invention discloses A1. A method for upgrading an application program, comprising:
获取待升级的应用程序的安装包;Obtain the installation package of the application program to be upgraded;
从所述安装包中提取指定的组件对象信息;Extracting specified component object information from the installation package;
依据所述指定的组件对象信息确定所述应用程序中指定的组件对象;Determine the specified component object in the application according to the specified component object information;
采用所述指定的组件对象信息加载所述指定的组件对象。The specified component object is loaded by using the specified component object information.
A2、如权利要求A1所述的方法,其特征在于,所述指定的组件对象信息包括当前类加载器的目录地址,所述应用程序中指定的组件对象包括类加载器;A2. The method according to claim A1, wherein the specified component object information includes the directory address of the current class loader, and the specified component object in the application program includes the class loader;
所述采用指定的组件对象信息加载所述指定的组件对象的步骤包括:The step of loading the specified component object by using the specified component object information includes:
采用所述应用程序中的反射对象获取所述应用程序中的原始类加载器的目录地址;Obtaining the directory address of the original class loader in the application by using the reflection object in the application;
将原始类加载器的目录地址修改为当前类加载器的目录地址。Change the directory address of the original class loader to the directory address of the current class loader.
从所述当前类加载器的目录地址加载所述类加载器。The class loader is loaded from the directory address of the current class loader.
A3、如权利要求A1或A2所述的方法,其特征在于,所述指定的组件对象信息包括当前应用对象的目录地址,所述应用程序中指定的组件对象包括应用对象;A3. The method according to claim A1 or A2, wherein the specified component object information includes the directory address of the current application object, and the specified component object in the application program includes the application object;
所述采用指定的组件对象信息加载所述指定的组件对象的步骤包括:The step of loading the specified component object by using the specified component object information includes:
采用所述应用程序中的反射对象获取所述应用程序中的原始应用对象的目录地址;Obtaining the directory address of the original application object in the application by using the reflection object in the application;
将原始应用对象的目录地址修改为当前应用对象的目录地址。Modify the directory address of the original application object to the directory address of the current application object.
从所述当前应用对象的目录地址加载所述应用对象。The application object is loaded from the directory address of the current application object.
A4、如权利要求A3所述的方法,其特征在于,所述指定的组件对象信息包括当前资源数据的目录地址,所述应用程序中指定的组件对象包括资源数据;A4. The method according to claim A3, wherein the specified component object information includes a directory address of current resource data, and the specified component object in the application program includes resource data;
所述采用指定的组件对象信息加载所述指定的组件对象的步骤包括:The step of loading the specified component object by using the specified component object information includes:
采用所述应用程序中的反射对象获取所述应用程序中的原始资源数据的目录地址;Obtaining the directory address of the original resource data in the application program by using the reflection object in the application program;
将原始资源数据的目录地址修改为当前资源数据的目录地址。Change the directory address of the original resource data to the directory address of the current resource data.
从所述当前资源数据的目录地址加载所述资源数据。The resource data is loaded from the directory address of the current resource data.
A5、如权利要求A4所述的方法,其特征在于,所述指定的组件对象信息包括当前包管理器的目录地址,所述应用程序中指定的组件对象包括包管理器;A5. The method according to claim A4, wherein the specified component object information includes the directory address of the current package manager, and the specified component object in the application program includes the package manager;
所述采用指定的组件对象信息加载所述指定的组件对象的步骤包括:The step of loading the specified component object by using the specified component object information includes:
采用所述应用程序中的反射对象获取所述应用程序中的原始包管理器的目录地址;Obtaining the directory address of the original package manager in the application by using the reflection object in the application;
将原始包管理器的目录地址修改为当前包管理器的目录地址。Change the directory address of the original package manager to the directory address of the current package manager.
从所述当前包管理器的目录地址加载所述包管理器。The package manager is loaded from the directory address of the current package manager.
本发明还公开了B6、一种应用程序升级的装置,包括:The present invention also discloses B6, a device for upgrading application programs, including:
获取模块,适于获取待升级的应用程序的安装包;An acquisition module, adapted to acquire the installation package of the application program to be upgraded;
提取模块,适于从所述安装包中提取指定的组件对象信息;An extraction module, adapted to extract specified component object information from the installation package;
确定模块,适于依据所述指定的组件对象信息确定所述应用程序中指定的组件对象;A determining module, adapted to determine the specified component object in the application according to the specified component object information;
加载模块,适于采用所述指定的组件对象信息加载所述指定的组件对象。A loading module, adapted to load the specified component object by using the specified component object information.
B7、如权利要求B6所述的装置,其特征在于,所述指定的组件对象信息包括当前类加载器的目录地址,所述应用程序中指定的组件对象包括类加载器;B7. The device according to claim B6, wherein the specified component object information includes a directory address of a current class loader, and the specified component object in the application program includes a class loader;
所述加载模块包括:The loading modules include:
第一地址获取子模块,适于采用所述应用程序中的反射对象获取所述应用程序中的原始类加载器的目录地址;The first address obtaining submodule is adapted to obtain the directory address of the original class loader in the application program by using the reflection object in the application program;
第一地址修改子模块,适于将原始类加载器的目录地址修改为当前类加载器的目录地址。The first address modifying submodule is adapted to modify the directory address of the original class loader to the directory address of the current class loader.
第一加载子模块,适于从所述当前类加载器的目录地址加载所述类加载器。The first loading submodule is adapted to load the class loader from the directory address of the current class loader.
B8、如权利要求B6或B7所述的装置,其特征在于,所述指定的组件对象信息包括当前应用对象的目录地址,所述应用程序中指定的组件对象包括应用对象;B8. The device according to claim B6 or B7, wherein the specified component object information includes the directory address of the current application object, and the specified component object in the application program includes the application object;
所述加载模块包括:The loading modules include:
第二地址获取子模块,适于采用所述应用程序中的反射对象获取所述应用程序中的原始应用对象的目录地址;The second address obtaining submodule is adapted to obtain the directory address of the original application object in the application program by using the reflection object in the application program;
第二地址修改子模块,适于将原始应用对象的目录地址修改为当前应用对象的目录地址。The second address modifying submodule is adapted to modify the directory address of the original application object to the directory address of the current application object.
第二加载子模块,适于从所述当前应用对象的目录地址加载所述应用对象。The second loading submodule is adapted to load the application object from the directory address of the current application object.
B9、如权利要求B8所述的装置,其特征在于,所述指定的组件对象信息包括当前资源数据的目录地址,所述应用程序中指定的组件对象包括资源数据;B9. The device according to claim B8, wherein the specified component object information includes a directory address of current resource data, and the specified component object in the application program includes resource data;
所述加载模块包括:The loading modules include:
第三地址获取子模块,适于采用所述应用程序中的反射对象获取所述应用程序中的原始资源数据的目录地址;The third address obtaining submodule is adapted to obtain the directory address of the original resource data in the application program by using the reflection object in the application program;
第三地址修改子模块,适于将原始资源数据的目录地址修改为当前资源数据的目录地址。The third address modification sub-module is adapted to modify the directory address of the original resource data to the directory address of the current resource data.
第三加载子模块,适于从所述当前资源数据的目录地址加载所述资源数据。The third loading submodule is adapted to load the resource data from the directory address of the current resource data.
B10、如权利要求B9所述的装置,其特征在于,所述指定的组件对象信息包括当前包管理器的目录地址,所述应用程序中指定的组件对象包括包管理器;B10. The device according to claim B9, wherein the specified component object information includes the directory address of the current package manager, and the specified component object in the application program includes the package manager;
所述加载模块包括:The loading modules include:
第四地址获取子模块,适于采用所述应用程序中的反射对象获取所述应用程序中的原始包管理器的目录地址;The fourth address obtaining submodule is adapted to obtain the directory address of the original package manager in the application program by using the reflection object in the application program;
第四地址修改子模块,适于将原始包管理器的目录地址修改为当前包管理器的目录地址。The fourth address modifying submodule is adapted to modify the directory address of the original package manager to the directory address of the current package manager.
第四加载子模块,适于从所述当前包管理器的目录地址加载所述包管理器。The fourth loading submodule is adapted to load the package manager from the directory address of the current package manager.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410033251.XA CN103793248B (en) | 2014-01-23 | 2014-01-23 | Method and device for upgrading application program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410033251.XA CN103793248B (en) | 2014-01-23 | 2014-01-23 | Method and device for upgrading application program |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103793248A CN103793248A (en) | 2014-05-14 |
CN103793248B true CN103793248B (en) | 2017-02-01 |
Family
ID=50668963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410033251.XA Active CN103793248B (en) | 2014-01-23 | 2014-01-23 | Method and device for upgrading application program |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103793248B (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104182255B (en) * | 2014-08-20 | 2017-11-21 | 青岛海信宽带多媒体技术有限公司 | A kind of the library file upgrade method and terminal of system application |
CN104320774B (en) * | 2014-10-16 | 2020-07-10 | 小米科技有限责任公司 | Upgrading method, device and equipment |
CN105867953B (en) * | 2015-01-21 | 2019-04-26 | 中国移动通信集团云南有限公司 | Application upgrade package generation method, application upgrade method and corresponding device |
CN106484488B (en) * | 2015-08-31 | 2019-09-03 | 深圳市金锐显数码科技有限公司 | Integrated cloud Compilation Method and system |
CN105335201B (en) * | 2015-11-30 | 2019-06-14 | 北京奇艺世纪科技有限公司 | A kind of application software update method and device |
CN105279005A (en) * | 2015-11-30 | 2016-01-27 | 北京奇艺世纪科技有限公司 | Application software updating method and device |
CN105320551A (en) * | 2015-11-30 | 2016-02-10 | 北京奇艺世纪科技有限公司 | Application software updating method and device |
CN108304722A (en) * | 2017-12-21 | 2018-07-20 | 广州小鹏汽车科技有限公司 | A kind of software installation packet and its generation method, upgrade method and system |
CN114245152A (en) * | 2021-11-03 | 2022-03-25 | 武汉斗鱼鱼乐网络科技有限公司 | Identification picture loading method and device, storage medium and electronic equipment |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101008901A (en) * | 2007-01-31 | 2007-08-01 | 华为技术有限公司 | Method and system for implementing dynamic upgrade of application system |
CN102073525A (en) * | 2011-01-20 | 2011-05-25 | 中兴通讯股份有限公司 | Method and device for dynamically upgrading Web service system based on Java platform |
US8161463B2 (en) * | 2007-02-23 | 2012-04-17 | Irdeto Canada Corporation | System and method of interlocking to protect software—mediated program and device behaviors |
CN102804132A (en) * | 2009-06-15 | 2012-11-28 | 微软公司 | Catalog-based software component management |
-
2014
- 2014-01-23 CN CN201410033251.XA patent/CN103793248B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101008901A (en) * | 2007-01-31 | 2007-08-01 | 华为技术有限公司 | Method and system for implementing dynamic upgrade of application system |
US8161463B2 (en) * | 2007-02-23 | 2012-04-17 | Irdeto Canada Corporation | System and method of interlocking to protect software—mediated program and device behaviors |
CN102804132A (en) * | 2009-06-15 | 2012-11-28 | 微软公司 | Catalog-based software component management |
CN102073525A (en) * | 2011-01-20 | 2011-05-25 | 中兴通讯股份有限公司 | Method and device for dynamically upgrading Web service system based on Java platform |
Also Published As
Publication number | Publication date |
---|---|
CN103793248A (en) | 2014-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103793248B (en) | Method and device for upgrading application program | |
WO2017185253A1 (en) | Patch upgrade-based file processing method and device, terminal, and storage medium | |
CN103595766B (en) | Method and device for realizing push notification of extended application | |
CN103617057B (en) | Application program installation method and device | |
CN104036019B (en) | The open method and device of web page interlinkage | |
CN104021017B (en) | The treating method and apparatus of startup item | |
TWI640923B (en) | Application processing method and device | |
CN105045643B (en) | Launcher startup method and device in Android system | |
CN105335184B (en) | Application installation method and device | |
CN104731625A (en) | Method, device and mobile terminal for loading plugin | |
CN104714827A (en) | Plug-in update method and device | |
CN108647032B (en) | Application loading method and apparatus, computer apparatus and computer-readable storage medium | |
CN107943505A (en) | Application upgrade management method and device, storage medium and electronic equipment | |
CN104731622A (en) | Application program loading method and device and mobile terminal | |
CN106886437A (en) | Application program update method and apparatus | |
CN104063247B (en) | The call method and system of a kind of application program | |
CN103677931B (en) | Method and device for moving software | |
CN105955833A (en) | Engine calling method and device | |
CN103500114A (en) | Method and device for installing application program | |
CN109190367B (en) | Method and device for running application program installation package by utilizing sandbox | |
CN107491309A (en) | The management method and device of application program, terminal device and cloud server | |
CN104375831A (en) | Method, device and system realizing communication between webpage and applications on terminal equipment | |
WO2017063401A1 (en) | Frame management method and device for interactive function card in smart television | |
CN103279569B (en) | The method and device of change system theme | |
CN103713945A (en) | Game identifying method and device |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220803 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. |