CN109491695A - A kind of increment updating method of integrated Android application - Google Patents
A kind of increment updating method of integrated Android application Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 230000008439 repair process Effects 0.000 claims abstract description 31
- 230000008859 change Effects 0.000 claims abstract description 25
- 230000003068 static effect Effects 0.000 claims abstract description 5
- 230000006870 function Effects 0.000 claims description 16
- 238000012986 modification Methods 0.000 claims description 12
- 230000004048 modification Effects 0.000 claims description 12
- 238000005457 optimization Methods 0.000 claims description 11
- 238000011068 loading method Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 238000003780 insertion Methods 0.000 claims description 5
- 230000037431 insertion Effects 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 claims description 4
- 238000009434 installation Methods 0.000 claims description 4
- 230000006837 decompression Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 claims description 3
- 238000011017 operating method Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000007812 deficiency Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
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
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.
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)
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)
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 |
-
2018
- 2018-10-19 CN CN201811219307.5A patent/CN109491695B/en not_active Expired - Fee Related
Patent Citations (7)
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)
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)
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 |