CN109491695A - A kind of increment updating method of integrated Android application - Google Patents

A kind of increment updating method of integrated Android application Download PDF

Info

Publication number
CN109491695A
CN109491695A CN201811219307.5A CN201811219307A CN109491695A CN 109491695 A CN109491695 A CN 109491695A CN 201811219307 A CN201811219307 A CN 201811219307A CN 109491695 A CN109491695 A CN 109491695A
Authority
CN
China
Prior art keywords
file
code
class
bundle
patch
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
Application number
CN201811219307.5A
Other languages
Chinese (zh)
Other versions
CN109491695B (en
Inventor
陆璐
周娟平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201811219307.5A priority Critical patent/CN109491695B/en
Publication of CN109491695A publication Critical patent/CN109491695A/en
Application granted granted Critical
Publication of CN109491695B publication Critical patent/CN109491695B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

The invention discloses a kind of increment updating methods of integrated Android application, this method is based on React Native, it is to add a static fields using inner all classes for Android primary code, and be inserted into one section in the inlet of method and jump code, the inside includes that a condition to static fields judges;In addition to this, the method that the path bundle is read in change realizes the incremental update to application using bsdiff.The present invention optimizes existing hot-fixing, it realizes that a compatibility is stronger and is not necessarily to restart the hot repair complex frame to come into force in real time, accomplish without issue new version can at any time bug in repair line, update resource file, the problem of having been found that can quickly be repaired, not only there is huge help to developer, is also of great significance to being promoted using experience.

Description

A kind of increment updating method of integrated Android application
Technical field
The present invention relates to APP performances to optimize field, in particular to a kind of increment updating method of integrated Android application.
Background technique
With popularizing for smart phone, people's lives increasingly be unable to do without mobile phone, and the quantity of Android APP is in eruption type Increase, at the same time, the function of APP becomes increasingly complex, and the user used is more and more, also increasingly to the performance requirement of APP It is high.React Native is the cross-platform mobile application Development Framework of facebook open source, is compiled using React Native frame The code write supports Android and the big Mainstream Platform of IOS two, and primary project is integrated into React Native, React Native As the supplement in project development, the unification of platform service can be realized to a certain extent, and there are also flexible development efficiency, mend Fill the deficiency of primary exploitation.
It, all can function Jing Guo tester's profession although the previous App of mesh is in the restocking of application market, the update of version Test and performance test, but due to Android device huge number, screen size is different, and test can not be covered all, therefore, It is unavoidable for all kinds of abnormal conditions occur.Performance issue is detected suddenly after application publication, needs to carry out emergency repair When, if needing developer first to modify code according to normal process, application is recompilated and is packaged, using test weight New publication, user needs to download update APP could normal use.It can be seen that whole process is very time-consuming, have already appeared Performance issue can not be modified timely, and influence has also been had resulted on user experience.
Summary of the invention
The shortcomings that it is a primary object of the present invention to overcome the prior art and deficiency provide a kind of increasing of integrated Android application Measure update method, this method be based on React Native, optimize existing hot-fixing, realize a compatibility it is stronger and Without restarting the hot repair complex frame to come into force in real time, accomplishing can bug, more new resources text in repair line at any time without issuing new version Part can quickly repair the problem of having been found that, not only have huge help to developer, also have weight using experience to being promoted Want meaning.
The purpose of the present invention is realized by the following technical solution:
A kind of increment updating method of integrated Android application, is based on React Native, comprising the following steps:
7) it is inserted into the code for obtaining latest patch packet, the method that the path bundle is read in change in the project, and is compiling Phase switchs to class file all to add repair function code to all classes and method before dex file, carries out standard for the update of increment heat It is standby;
8) it is packaged the code by step 1) processing, using ProGuard tool, solves the problems, such as Code obfuscation and optimization packet Size, last online use;
9) when step 2) application, which goes wrong, to be needed to update, the principle with reference to Just-In-Time technology Instant Run is real Existing delta patch obtains patch.jar service packs using RocooFix, and the bundle file that bsdiff compares two versions obtains To differential file, delta patch is finally issued;
10) application detection updates, and downloads delta patch and verifies, and repairs problematic code using hot loading method, makes Using without restarting and can repair;
11) Optimization Steps 4) in $ change field need through performance issue caused by reflection assignment, it is global with one The field and method that Lru Cache storage and lookup were reflected guarantee that reflection is called once as far as possible;
12) when the resource that can not find needs in former apk, change the path that resource file is read in application, be directed toward customized Service packs path, thus achieve the purpose that step increment method update packet in resource.
Further, in step 1), the method that the path bundle is read in the change, specifically:
Bundle file in installation kit be under asset catalogue, and asset catalogue we be not no write permission, So we cannot modify the bundle file in installation kit, and React Native provides getJSBundleFile method The path bundle is read in modification;When this method default returns to null, the bundle in asset is read, when there is update, return can Write the bundle file path of catalogue once.
It is described all to add repair function code to all classes and method in step 1), specifically includes the following steps:
(1) the Gradle Plugin of a Transform is realized with Groovy language to parse corresponding note and (repair The method changed needs plus@Modify is explained, and obtains the class that all modifications are crossed by this note);
(2) code is repaired using the modification class bytecode insertion of ASM frame, handles class using the api in ASM packet File, operation class use ClassVisitor, and operating method uses MethodVisitor.
Further, Code obfuscation described in step 2) and optimization packet size have all used the thought of ProGuard;Solution Certainly method used by Code obfuscation be first for the code building service packs before obscuring, then using formal be packaged when generate The mapping relations that class is corresponded in mapping file do the processing in character string to the class in application packet, it are allowed to use fortune The class name obscured in row environment;Optimizing packet size is all uniquely to be reflected all methods with int value during compiling It penetrates, then saves all mapping relations into an individual file, only need to may be read by mapped file later corresponding Method.Since method character string is descriptor form in bytecode, length is longer, by that can substantially reduce character string after the method Quantity, and then reduce and apply packet size;Meanwhile if it is confirmed that exception can never occur in some classes, it is not necessary to be this Class adds $ change field, and repairs logic for method therein addition, and this programme is supported through configuration file mode to this A little classes are configured, to directly filter out these class in the compilation phase.By above two mode, character string, which increases, is asked Topic has obtained significant optimization, and Bao great little increases problem and obtained very good solution.
Further, in step 3), the Just-In-Time technology Instant Run can be the case where not restarting App The lower modified code of operation, greatly improves compilation speed, reduces the time rebuild with application deployment;With reference to Instant The principle of Run realizes delta patch, obtains patch.jar service packs using RocooFix, and compare two using bsdiff The application file of version obtains differential file, and the good patch file of client downloads uses it with local application file Bspatch order is merged to obtain new version and is stored in customized catalogue.
It further, the use of hot loading method is heat load js code described in step 4), wherein heat load js code It needs to empty ReactInstanceManager after decompression to configure and restart activity;For java code, based on step It is rapid hot repair just 1) is all inserted into each function in the compilation phase to answer function code, when using being packaged, one can be inserted into each class The field $ change of a static state is loaded by newly-built DexClassLoader after service packs issues, is then called LoadClass method realize: first by service packs obtain reparation in need category information, recycling the side loadClass Class is repaired in method load, and newInstance method is called to obtain example object, is then taken again by reflection circulation each to be repaired Change class, by the $ change field assignment in these badClass at the newly created example for repairing class, so as to repair in real time badMethod。
Further, Optimization Steps 4 described in step 5)) in $ change field need by reflection assignment caused by Performance issue, its implementation are to be stored on the basis of reference Instant Run scheme with a global Lru Cache The field and method reflected with lookup guarantees that reflection is only called primary as far as possible.
Further, resource file described in step 6), reparation need to change getPathInArchive method, often Secondary update need to only be packaged the resource file modified and increased newly, and the filename that all modifications are crossed and increased newly is stored in one In customized array, picture resource is found in catalogue where offline script if the filename accessed is in this array, Otherwise or picture resource is found from asset, the heat for thereby realizing resource file updates, and reduces user and downloads file stream Amount.
Compared with the prior art, the invention has the following advantages and beneficial effects:
1, the present invention is to integrate Android project for React Native to provide a kind of method of incremental update, can quickly be repaired The problem of having been found that saves customer flow, not only has huge help to developer, also has weight using experience to being promoted Want meaning.
ProGuard is the tool of an obfuscated codes, in addition to this it is possible to be used to compress, Optimized code.Because Java code is to be very easy to decompiling, and android exactly uses java written in code, for the labor of protective development person Dynamic achievement, the present invention obscure java code using ProGuard tool.Code obfuscation is really computer program Code is converted into a kind of form for being difficult to reading and understanding, but the functionally behavior with original program equivalence.The present invention also makes Application is compressed with ProGuard tool, dead code is removed using it, deletes annotation useless, realize optimization apk packet The function of size.
Bsdiff is that a difference packet compares tool, and the incremental update of application may be implemented.Compared using bsdiff order Two files obtain the residual quantity file that patch is suffix name, make using the more newly downloaded residual quantity file of detection, and with local file New file is generated with bspatch order.
Gradle is an automation the build tool, is the compilation tool of current Android project mainstream.As an intelligence Can building system, Gradle inherits the numerous characteristics of Ant and Maven, has following characteristics: 1) preferably and Android Studio IDE is combined;2) simple, extension is configured to be easy, support customized compilation process;3) it is easier to realize different editions Building and by all kinds of means automatic packaging;4) Code obfuscation, add items dependence etc. are very convenient;5) generation can easily be reused Code and resource.For some simple programs, in this embodiment it is not even necessary to configure any code and only use Android Studio Compiling is completed, is packaged and runs.
ASM is a very comprehensive Java bytecode control frame, it is therefore an objective to generate, converts and analyze with byte arrays The compiled java class indicated, can dynamically change class behavior, before class is loaded into virtual machine for modifying or directly producing Raw binary system class file, realization code building, Code obfuscation, code conversion etc. are the work for operating target with bytecode Make.Since Java Virtual Machine specification is described in detail the format that a class file should abide by, all java class be all by Specification is strictly stored in class file like this, and therefore, for ASM, these metadata are used to parse in class enough All elements, including class name, method and byte code instruction etc..Different from AspectJ pure Java code level realization, The library ASM be it is other to bottom bytecode level abstract, the requirement to developer can be higher, needs bytecode and Java Virtual Machine related Knowledge safeguards that difficulty also will increase.But because of this, its operational efficiency can faster be more suitable for respect to other frames Application monitoring function a little is buried used in based on nothing, in order to avoid influence the normal operation performance of application.
2, the method that the present invention uses incremental update saves customer flow, improves user experience;The present invention passes through DexClassLoader loads service packs, and compatibility and stability are more preferable, and there is no preverify caused by class loading scheme to ask Topic;The present invention has used for reference the hot update mechanism of Instant Run, can accomplish to come into force immediately, not need to restart application;The present invention The reparation of support method rank supports newly-increased method and class, supports the reparation of resource file.
3, script of the present invention with reference to the principle of Instant Run, hot repair double action state loading method and React Native Load mechanism is accomplished as soon as realizing the hot repair complex frame that a compatibility is stronger and comes into force in real time without issuing new version energy Bug, update resource file in repair line at any time, and to code also without any invasive, the introducing solution of increment updating method Compressed package volume is larger, and renewal time is longer, waste the problems such as user is compared with various flow, significantly reduce using update at This.
Detailed description of the invention
Fig. 1 is a kind of flow chart of the increment updating method of integrated Android application of the present invention.
Fig. 2 is that hot recovery scenario of the present invention realizes block diagram.
Fig. 3 is that patch of the present invention issues and repair flow chart.
Specific embodiment
Present invention will now be described in further detail with reference to the embodiments and the accompanying drawings, but embodiments of the present invention are unlimited In this.
As shown in Figure 1, a kind of increment updating method of integrated Android application, is based on React Native, to of the invention Embodiment does further detailed description, and realization has the following steps:
Step 1), for primary Android project, the method integration that provides according to the official website React Native to React In Native frame, mainly comprise the steps of: that (1) has configured React Native dependence and project structure.(2) creation js text Part writes the js code of React Native component.(3) RCTRootView is added in the application.This RCTRootView is exactly the container for being used to carry your React Native component.(4) start React Native's Packager service, operation application.(5) verify whether this members works normally.
Step 2), insertion obtains the code of latest patch packet in the project, and service packs is saved in getFilesDir () .getAbsolutePath it under () catalogue, is read using the getJSBundleFile method change that React Native is provided The path bundle is getFilesDir () .getAbsolutePath () catalogue, will read the catalogue when updating APP every time Under bundle file, have the bundle file of new version again later, be still downloading, decompress and override this bundle File.
Step 3), repair function code include $ change field being added for class, and repair and patrol for method therein addition Volume.It realizes and all adds repair function code to all classes and method, comprising the following steps: (1) realize one with Groovy language To parse corresponding note, (method of modification needs the Gradle Plugin of a Transform plus@Modify is explained, and passes through This is explained to obtain the class that all modifications are crossed);(2) code is repaired using the modification class bytecode insertion of ASM frame, mainly made Class file is handled with the api in ASM packet, operation class uses ClassVisitor, and operating method uses MethodVisitor。
Step 4), in order to protect Java source code well, it would be desirable to which the class file after compiled is mixed Confuse, rename class, field and method using brief meaningless title, and removes in React NativeJava and do not made Code finally obtains a lesser APK file.Code obfuscation and optimization packet size are solved the problems, such as using Proguard, Proguard is enabled in React Native, modifies android/app/build.gradle file: def EnableProguardInReleaseBuilds=true, finally publication application.
Step 5) realizes delta patch with reference to the principle of Instant Run, obtains patch.jar using RocooFix Service packs compares two versions using bsdiff to bundle and obtains differential file, finally compressed.Client downloads are mended well It is merged to obtain new version bundle and be stored in customized by fourth file with local application file using bspatch In catalogue.
Step 6) is updated using detection, is downloaded delta patch and is decompressed verification, as shown in Fig. 2, heat load js code needs Want specially treated once, processing is also very simple, configures and restarts as long as emptying ReactInstanceManager after decompression activity.For java code, in hot repair function generation, can be all inserted into each function in the compilation phase based on step 3) Code when using being packaged, can be inserted into a static field $ change, as shown in figure 3, after service packs issues in each class It is loaded by newly-built DexClassLoader, then loadClass method is called to realize.It is obtained first by service packs Reparation in need category information, recycle loadClass method load repair class, call newInstance method obtain it Then instance objects take each class to be modified by reflecting circulation again, by the $ change field assignment in these badClass At the newly created example for repairing class, so as to repair badMethod in real time.
Step 7), performance issue caused by optimization is reflected: because to go to access original object in the replacement class of generation Attribute, so being inherently related to causing volume access authority problem because of reflection.The processing mode of Instant Run is in compiling duration Between by: 1) method and field of all protected and default access are changed to public, can not have to reflection, directly Receiving is asked;2) for the method for private, in the class that all private methods for being repaired class are copied to heavy duty, work as heavy duty In method need call by HotFix class private method when, call directly the private method of heavily loaded class.But for Framework layers of protected method and field (the protected method of such as activity), since access cannot be modified Permission just can only go to call by reflection, and private field is also that therefore, this will lead to certain performance issue.It is referring to On the basis of Instant Run scheme, using following optimization method: being stored and searched with a global Lru Cache The field and method reflected guarantees that reflection is only called primary as far as possible.
Step 8) realizes incremental update resource file, needs to change getPathInArchive method, and update only needs every time The resource file modified and increased newly is packaged, and the filename that all modifications are crossed and increased newly is stored in a customized array In, if access filename in this array just resource file is found in catalogue where offline script, otherwise still from Resource file is found in asset, the heat for thereby realizing resource file updates, and reduces user and downloads file flow.
The above embodiment is a preferred embodiment of the present invention, but embodiments of the present invention are not by above-described embodiment Limitation, other any changes, modifications, substitutions, combinations, simplifications made without departing from the spirit and principles of the present invention, It should be equivalent substitute mode, be included within the scope of the present invention.

Claims (8)

1. a kind of increment updating method of integrated Android application, which is characterized in that be based on React Native, including following step It is rapid:
1) in the project insertion obtain latest patch packet code, change read the path bundle method, and compiling duration will Class file switchs to all add repair function code to all classes and method before dex file, is ready for the update of increment heat;
2) it is packaged the code by step 1) processing, using ProGuard tool, solves the problems, such as Code obfuscation and optimization packet size, Last online use;
3) when step 2) application, which goes wrong, to be needed to update, increasing is realized with reference to the principle of Just-In-Time technology Instant Run Service packs is measured, obtains patch.jar service packs using RocooFix, the bundle file that bsdiff compares two versions obtains difference Different article part, finally issues delta patch;
4) application detection updates, and downloads delta patch and verifies, and repairs problematic code using hot loading method, makes using nothing Need to restart can repair;
5) Optimization Steps 4) in $ change field need by reflection assignment caused by performance issue, with a global Lru The field and method that Cache storage and lookup were reflected guarantee that reflection is called once as far as possible;
6) when the resource that can not find needs in former apk, change the path that resource file is read in application, be directed toward customized patch Path is wrapped, to achieve the purpose that step increment method updates resource in packet.
2. according to claim 1 integrate Android application increment updating method, which is characterized in that in step 1), it is described more Change the method for reading the path bundle, specifically:
Bundle file in installation kit is under asset catalogue, and asset catalogue is not no write permission, so cannot The bundle file in installation kit is modified, and React Native provides the modification of getJSBundleFile method and reads The path bundle;When this method default returns to null, the bundle read in asset returns to writeable catalogue one when there is update Under bundle file path.
3. integrating the increment updating method of Android application according to claim 1, which is characterized in that described to give in step 1) All classes and method all add repair function code, specifically includes the following steps:
(1) the Gradle Plugin of a Transform is realized with Groovy language to parse corresponding note;
(2) code is repaired using the modification class bytecode insertion of ASM frame, class text is handled using the api in ASM packet Part, operation class use ClassVisitor, and operating method uses MethodVisitor.
4. integrating the increment updating method of Android application according to claim 1, which is characterized in that code described in step 2) Obscure and optimize the thought that packet size has all used ProGuard;Solving method used by Code obfuscation is first for before obscuring Code building service packs, then using formal be packaged when the mapping file that generates in correspond to the mapping relations of class, it is right The processing in character string is done using the class in packet, it is allowed to use the class name obscured in running environment;Optimize packet size Be all methods are all uniquely mapped with int value during compiling, then save all mapping relations to one individually In file, only corresponding method need to may be read by mapped file later.
5. integrating the increment updating method of Android application according to claim 1, which is characterized in that described to be in step 3) When technique of compiling Instant Run modified code can be run in the case where not restarting App, greatly improve compiling speed Degree reduces the time rebuild with application deployment;Delta patch is realized with reference to the principle of Instant Run, is used RocooFix obtains patch.jar service packs, and obtains differential file using the application file that bsdiff compares two versions, visitor Patch file has been downloaded at family end, it is merged to obtain new version and be deposited with local application file using bspatch order It is placed in customized catalogue.
6. integrating the increment updating method of Android application according to claim 1, which is characterized in that used described in step 4) Hot loading method is heat load js code, wherein heat load js code needs empty after decompression ReactInstanceManager is configured and is restarted activity;For java code, based on step 1) just in the compilation phase pair Each function is all inserted into hot repair and answers function code, and when using being packaged, a static field $ can be inserted into each class Change is loaded by newly-built DexClassLoader after service packs issues, then loadClass method is called to realize : first by service packs obtain institute reparation in need category information, recycle loadClass method load repair class, calling NewInstance method obtains example object, then each class to be modified is taken by reflecting circulation again, by these $ change field assignment in badClass is at the newly created example for repairing class, so as to repair badMethod in real time.
7. integrating the increment updating method of Android application according to claim 1, which is characterized in that optimize described in step 5) $ change field is needed through performance issue caused by reflection assignment in step 4), and its implementation is in reference Instant It on the basis of Run scheme, is stored with a global Lru Cache and searches the field and method that reflected, guaranteed as far as possible anti- It penetrates only called primary.
8. integrating the increment updating method of Android application according to claim 1, which is characterized in that resource described in step 6) File, reparation need to change getPathInArchive method, and updating every time only need to be the resource file modified and increased newly It is packaged, and the filename that all modifications are crossed and increased newly is stored in a customized array, if the filename of access is at this Picture resource just is found in catalogue where offline script in a array, finds otherwise or from asset picture resource, in this way It is achieved that the heat of resource file updates, reduces user and download file flow.
CN201811219307.5A 2018-10-19 2018-10-19 Incremental updating method for integrated android application Expired - Fee Related CN109491695B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811219307.5A CN109491695B (en) 2018-10-19 2018-10-19 Incremental updating method for integrated android application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811219307.5A CN109491695B (en) 2018-10-19 2018-10-19 Incremental updating method for integrated android application

Publications (2)

Publication Number Publication Date
CN109491695A true CN109491695A (en) 2019-03-19
CN109491695B CN109491695B (en) 2021-08-06

Family

ID=65692026

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811219307.5A Expired - Fee Related CN109491695B (en) 2018-10-19 2018-10-19 Incremental updating method for integrated android application

Country Status (1)

Country Link
CN (1) CN109491695B (en)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110162330A (en) * 2019-07-08 2019-08-23 上海赫千电子科技有限公司 A kind of system and method applied to automobile ECU upgrade file
CN110297655A (en) * 2019-06-21 2019-10-01 百度在线网络技术(北京)有限公司 Generate method, apparatus, equipment and the storage medium of service packs
CN110309655A (en) * 2019-07-05 2019-10-08 武汉绿色网络信息服务有限责任公司 A kind of method and detection device detecting safety in APP renewal process
CN110321135A (en) * 2019-06-28 2019-10-11 百度在线网络技术(北京)有限公司 Hot restorative procedure, device, equipment and computer readable storage medium
CN110333892A (en) * 2019-06-28 2019-10-15 百度在线网络技术(北京)有限公司 Generation method, device, equipment and the storage medium of the patch of application program
CN110543323A (en) * 2019-09-11 2019-12-06 北京搜狐新动力信息技术有限公司 Application program repairing method and device
CN110647348A (en) * 2019-09-20 2020-01-03 浪潮思科网络科技有限公司 Method and system for solving problem of difficult code maintenance caused by version differentiation
CN110941433A (en) * 2019-11-13 2020-03-31 佛山职业技术学院 Method and system for edge-assisted deployment of third party application to microcontroller
CN111061486A (en) * 2019-12-10 2020-04-24 杭州有赞科技有限公司 Android application program increment method
CN111352849A (en) * 2020-03-13 2020-06-30 杭州趣维科技有限公司 Method for solving code-free embedded point of mobile terminal
CN111596935A (en) * 2020-04-27 2020-08-28 五八有限公司 Script packing method and device, electronic equipment and storage medium
CN112286564A (en) * 2020-10-22 2021-01-29 上海艾拉比智能科技有限公司 Differential upgrade algorithm for binary system files of IOT (input/output) equipment
CN112328296A (en) * 2020-11-30 2021-02-05 北京百度网讯科技有限公司 Software updating method, device, equipment and medium for cross-platform application
CN112817624A (en) * 2021-01-28 2021-05-18 广州衣科明夷信息技术有限公司 Real Native-based gray scale heat deployment system
CN113268264A (en) * 2021-06-01 2021-08-17 广州欢网科技有限责任公司 Method and intelligent device for realizing Android hot update
CN113448611A (en) * 2021-08-31 2021-09-28 中邮消费金融有限公司 Method and system for quickly and thermally updating application program
CN113792026A (en) * 2021-08-11 2021-12-14 深圳力维智联技术有限公司 Deployment method and device of database script and computer readable storage medium
CN115544521A (en) * 2022-11-25 2022-12-30 神州灵云(北京)科技有限公司 Method, device, medium and electronic equipment for generating and checking offline installation file
US11822910B2 (en) 2021-10-14 2023-11-21 International Business Machines Corporation Reducing a delivery size of a software update

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103701930A (en) * 2014-01-07 2014-04-02 浙江大学 Mobile application program real-time updating method and system
CN106919378A (en) * 2016-08-24 2017-07-04 阿里巴巴集团控股有限公司 Application based on increment updates and method of testing and system, server and client
US20170220335A1 (en) * 2016-02-02 2017-08-03 ZeroTurnaround AS System and Method for Fast Initial and Incremental Deployment of Apps
CN107122662A (en) * 2017-04-12 2017-09-01 金陵科技学院 A kind of mobile Internet App Code obfuscation assessment methods based on Proguard softwares
CN107463405A (en) * 2017-08-04 2017-12-12 深圳市华傲数据技术有限公司 The update method and device of a kind of application program
CN107729041A (en) * 2017-07-26 2018-02-23 上海壹账通金融科技有限公司 The hot update method of application program, device, terminal and storage medium
CN108399080A (en) * 2018-03-05 2018-08-14 深圳市华讯方舟软件信息有限公司 A kind of hot update methods of Android App

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103701930A (en) * 2014-01-07 2014-04-02 浙江大学 Mobile application program real-time updating method and system
US20170220335A1 (en) * 2016-02-02 2017-08-03 ZeroTurnaround AS System and Method for Fast Initial and Incremental Deployment of Apps
CN106919378A (en) * 2016-08-24 2017-07-04 阿里巴巴集团控股有限公司 Application based on increment updates and method of testing and system, server and client
CN107122662A (en) * 2017-04-12 2017-09-01 金陵科技学院 A kind of mobile Internet App Code obfuscation assessment methods based on Proguard softwares
CN107729041A (en) * 2017-07-26 2018-02-23 上海壹账通金融科技有限公司 The hot update method of application program, device, terminal and storage medium
CN107463405A (en) * 2017-08-04 2017-12-12 深圳市华傲数据技术有限公司 The update method and device of a kind of application program
CN108399080A (en) * 2018-03-05 2018-08-14 深圳市华讯方舟软件信息有限公司 A kind of hot update methods of Android App

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
HUGO BRITO等: "JavaScript in mobile applications: React native vs ionic vs NativeScript vs native development", 《 2018 13TH IBERIAN CONFERENCE ON INFORMATION SYSTEMS AND TECHNOLOGIES (CISTI)》 *
尹茸: "移动应用的实时增量更新", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
焦锋: "react_native在app开发中的应用研究", 《数字技术与应用》 *
陆璐等: "安卓应用软件测试信息智能监测系统设计", 《现代电子技术》 *

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110297655A (en) * 2019-06-21 2019-10-01 百度在线网络技术(北京)有限公司 Generate method, apparatus, equipment and the storage medium of service packs
CN110333892B (en) * 2019-06-28 2022-12-13 百度在线网络技术(北京)有限公司 Method, device and equipment for generating patch of application program and storage medium
CN110321135A (en) * 2019-06-28 2019-10-11 百度在线网络技术(北京)有限公司 Hot restorative procedure, device, equipment and computer readable storage medium
CN110333892A (en) * 2019-06-28 2019-10-15 百度在线网络技术(北京)有限公司 Generation method, device, equipment and the storage medium of the patch of application program
CN110321135B (en) * 2019-06-28 2023-04-11 百度在线网络技术(北京)有限公司 Thermal restoration method, device, equipment and computer readable storage medium
CN110309655A (en) * 2019-07-05 2019-10-08 武汉绿色网络信息服务有限责任公司 A kind of method and detection device detecting safety in APP renewal process
CN110162330A (en) * 2019-07-08 2019-08-23 上海赫千电子科技有限公司 A kind of system and method applied to automobile ECU upgrade file
CN110543323A (en) * 2019-09-11 2019-12-06 北京搜狐新动力信息技术有限公司 Application program repairing method and device
CN110647348A (en) * 2019-09-20 2020-01-03 浪潮思科网络科技有限公司 Method and system for solving problem of difficult code maintenance caused by version differentiation
CN110647348B (en) * 2019-09-20 2022-11-22 浪潮思科网络科技有限公司 Method and system for solving problem of difficult code maintenance caused by version differentiation
CN110941433A (en) * 2019-11-13 2020-03-31 佛山职业技术学院 Method and system for edge-assisted deployment of third party application to microcontroller
CN111061486A (en) * 2019-12-10 2020-04-24 杭州有赞科技有限公司 Android application program increment method
CN111352849A (en) * 2020-03-13 2020-06-30 杭州趣维科技有限公司 Method for solving code-free embedded point of mobile terminal
CN111352849B (en) * 2020-03-13 2023-05-16 杭州趣维科技有限公司 Mobile terminal code-free embedded point solving method
CN111596935A (en) * 2020-04-27 2020-08-28 五八有限公司 Script packing method and device, electronic equipment and storage medium
CN112286564A (en) * 2020-10-22 2021-01-29 上海艾拉比智能科技有限公司 Differential upgrade algorithm for binary system files of IOT (input/output) equipment
CN112328296B (en) * 2020-11-30 2024-04-02 北京百度网讯科技有限公司 Method, device, equipment and medium for updating software aiming at cross-platform application
CN112328296A (en) * 2020-11-30 2021-02-05 北京百度网讯科技有限公司 Software updating method, device, equipment and medium for cross-platform application
CN112817624A (en) * 2021-01-28 2021-05-18 广州衣科明夷信息技术有限公司 Real Native-based gray scale heat deployment system
CN112817624B (en) * 2021-01-28 2022-10-04 杭州衣科信息技术股份有限公司 Real Native-based gray scale heat deployment system
CN113268264A (en) * 2021-06-01 2021-08-17 广州欢网科技有限责任公司 Method and intelligent device for realizing Android hot update
CN113792026A (en) * 2021-08-11 2021-12-14 深圳力维智联技术有限公司 Deployment method and device of database script and computer readable storage medium
CN113792026B (en) * 2021-08-11 2023-08-11 深圳力维智联技术有限公司 Method and device for deploying database script and computer-readable storage medium
CN113448611B (en) * 2021-08-31 2021-11-30 中邮消费金融有限公司 Method and system for quickly and thermally updating application program
CN113448611A (en) * 2021-08-31 2021-09-28 中邮消费金融有限公司 Method and system for quickly and thermally updating application program
US11822910B2 (en) 2021-10-14 2023-11-21 International Business Machines Corporation Reducing a delivery size of a software update
CN115544521A (en) * 2022-11-25 2022-12-30 神州灵云(北京)科技有限公司 Method, device, medium and electronic equipment for generating and checking offline installation file
CN115544521B (en) * 2022-11-25 2023-03-03 神州灵云(北京)科技有限公司 Method and device for generating checksum of offline installation file

Also Published As

Publication number Publication date
CN109491695B (en) 2021-08-06

Similar Documents

Publication Publication Date Title
CN109491695A (en) A kind of increment updating method of integrated Android application
US10795660B1 (en) Live code updates
CN103955363B (en) A kind of manufacture method of program upgrade installation package
CN108027722B (en) Dynamically updating applications in compilation and deployment
CN104793946B (en) Dispositions method and system are applied based on cloud computing platform
US9430224B2 (en) Hot-update method and apparatus
CN102411506B (en) Java-system business-unit plug-in type managing system and dynamic business-function changing method
CN107451474B (en) Software bug fixing method and device for terminal
CN109614165B (en) Multi-version parallel operation method and device for COM (component object model) component
CN109032631B (en) Application program patch package obtaining method and device, computer equipment and storage medium
CN106095504B (en) Preset application loading method and mobile terminal
CN104915595A (en) Virtualization bug fixing method and device through cloud platform
CN112835975B (en) Method for deploying, updating and calling intelligent contracts in blockchain
CN105786538A (en) Software upgrading method and device based on Android system
CN111897570A (en) Multi-dependency file extraction method and device based on Maven plug-in
CN109344619A (en) The hot restorative procedure and device of application program
CN105577813A (en) Update method and system for web hybrid application
CN112148297A (en) Intelligent server encryption and packaging method and device
CN111176717A (en) Method and device for generating installation package and electronic equipment
CN111290740B (en) Application program development method and device, computer equipment and storage medium
CN109918113A (en) Multiple/hot update method of IOS application hot repair, server and storage medium
CN108694049B (en) Method and equipment for updating software
KR102141749B1 (en) APP program execution method and device
CN116755713A (en) Application program generation method, device, equipment and storage medium
CN117075960B (en) Program reconstruction method, application cross-platform migration method, device and computing equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210806

CF01 Termination of patent right due to non-payment of annual fee