CN114791821A - Client updating method and device, electronic equipment and computer storage medium - Google Patents

Client updating method and device, electronic equipment and computer storage medium Download PDF

Info

Publication number
CN114791821A
CN114791821A CN202110097055.9A CN202110097055A CN114791821A CN 114791821 A CN114791821 A CN 114791821A CN 202110097055 A CN202110097055 A CN 202110097055A CN 114791821 A CN114791821 A CN 114791821A
Authority
CN
China
Prior art keywords
file
client
class
compiled
matching degree
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.)
Pending
Application number
CN202110097055.9A
Other languages
Chinese (zh)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110097055.9A priority Critical patent/CN114791821A/en
Publication of CN114791821A publication Critical patent/CN114791821A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running

Abstract

The application provides a client updating method and device, electronic equipment and a computer storage medium, and relates to the technical field of cloud. The method comprises the steps of obtaining a dynamic installation file used for updating a client side and obtaining a matching degree detection file corresponding to the dynamic installation file; the matching degree detection file comprises a detection program, the detection program is generated according to a target object set which is depended on when the dynamic installation file runs, and the target object set comprises objects in host application of at least one client; running a detection program in the matching degree detection file; and when the detection program operates normally, determining that the dynamic installation file is matched with the host application, and operating the dynamic installation file to update the client. According to the method and the device, the dynamic installation file upgrading client is operated after the dynamic installation file issued to the client by the client is matched with the host application of the client, and the condition that the client operates abnormally due to the fact that the host application is not matched with the dynamic installation file can be avoided.

Description

Client updating method and device, electronic equipment and computer storage medium
Technical Field
The present application relates to the field of computer technologies, and in particular, to a client update method and apparatus, an electronic device, and a computer storage medium.
Background
With the continuous development of computer and communication technologies, intelligent terminal application has been involved in many fields; the intelligent terminal can be provided with clients of various different types so as to meet various requirements of users.
The Client (Client) refers to software which corresponds to the server and provides local services for the user in cooperation with the server. The client running on the terminal comprises basic operating system software and various application software, can ensure the running of the terminal and provide various network services for users, such as web browsing, mail receiving and sending, instant messaging and the like.
Due to the rapid development of communication technology, new operating systems and application software are continuously pushed out, so that the clients also need to be continuously upgraded. When the clients are upgraded, the server generates dynamic installation files for upgrading the clients and sends the generated dynamic installation files to the clients; when the client is upgraded, the dynamic installation file is directly operated on the host file of the client, and the upgrade of the client is possibly abnormal because the operation of the dynamic installation file needs to depend on a part of classes or interfaces in the host file.
Disclosure of Invention
The application provides a client updating method, a client updating device, electronic equipment and a computer storage medium, which are used for avoiding upgrading abnormity caused by the fact that a part of classification or an interface in a host file is required to be relied on when a dynamic installation file runs in the client upgrading process.
In a first aspect, an embodiment of the present application provides a client update method, including:
acquiring a dynamic installation file for updating a client, and acquiring a matching degree detection file corresponding to the dynamic installation file; the matching degree detection file comprises a detection program, the detection program is generated according to a target object set which is depended on by the dynamic installation file during runtime, and the target object set comprises at least one object in the host application of the client;
running the detection program in the matching degree detection file;
and when the detection program is determined to run normally, determining that the dynamic installation file is matched with the host application, running the dynamic installation file, and updating the client.
In a second aspect, an embodiment of the present application provides a client update apparatus, including:
the device comprises an acquisition unit, a matching degree detection unit and a matching degree updating unit, wherein the acquisition unit is used for acquiring a dynamic installation file used for updating a client and acquiring a matching degree detection file corresponding to the dynamic installation file; the matching degree detection file comprises a detection program, the detection program is generated according to a target object set which is depended on by the dynamic installation file during runtime, and the target object set comprises at least one object in the host application of the client;
the processing unit is used for operating the detection program in the matching degree detection file;
and the updating unit is used for determining that the dynamic installation file is matched with the host application when the detection program is determined to run normally, running the dynamic installation file and updating the client.
In a third aspect, an embodiment of the present application provides an electronic device, including:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein, the first and the second end of the pipe are connected with each other,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the client update method provided herein.
In a fourth aspect, an embodiment of the present application provides a computer-readable medium storing computer-executable instructions for performing the client updating method provided in the present application.
The application has the beneficial effects that:
when a server issues a dynamic installation file to a client, a matching degree detection file corresponding to the dynamic installation file is issued at the same time, the matching degree detection file comprises a detection program, and the detection program is generated based on a target object set in a host application on which the dynamic installation file needs to depend when the host application runs the dynamic installation file; before running the dynamic installation file, the host application runs a detection program in the matching degree detection file, if the detection program runs normally, a target object required to be depended on in the running process of the dynamic installation file is determined to be matched with the host application of the client, so that the dynamic installation file issued by the client is determined to be matched with the host application of the client, and thus, the dynamic installation file can be determined to depend on the target object contained in the host application of the client in the running process of the dynamic installation file; on the basis, the host application of the client runs the dynamic installation file upgrading client, so that the condition that the client abnormally runs due to mismatching of the host application and the dynamic installation file in the process of running the dynamic installation file can be avoided.
Drawings
Fig. 1 is a schematic view of an application scenario of an optional client update provided in an embodiment of the present application;
fig. 2 is a flowchart of a client updating method according to an embodiment of the present application;
fig. 3 is a flowchart of generating a matching degree detection file according to an embodiment of the present application;
fig. 4 is a flowchart of a generated class matching degree detection program and a method matching degree detection program according to an embodiment of the present application;
fig. 5 is a flowchart of a client update provided in an embodiment of the present application;
fig. 6 is a schematic diagram of a client display interface according to an embodiment of the present disclosure;
fig. 7 is a flowchart illustrating a client update process of interaction between a client and a server according to an embodiment of the present application;
fig. 8 is a schematic structural diagram of a client update apparatus according to an embodiment of the present disclosure;
fig. 9 is a schematic structural diagram of an electronic device according to an embodiment of the present application;
fig. 10 is a schematic structural diagram of a computing device according to an embodiment of the present application.
Detailed Description
In order to make those skilled in the art better understand the technical solutions disclosed in the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings.
It should be noted that the terms "first," "second," and the like in the description and claims of this application and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the application described herein are capable of operation in sequences other than those illustrated or described herein. The implementations described in the following exemplary examples do not represent all implementations consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the application, as detailed in the appended claims.
Some terms appearing herein are explained below:
1. the client side comprises: the Application may refer to APP (Application) of software, or may refer to terminal equipment. The system is provided with a visual display interface and can interact with a user; is corresponding to the server, and provides local service for the client. The software-class application programs, except some application programs that only run locally, are generally installed on a common client terminal and need to run in cooperation with a server terminal. After the development of the internet, more common applications include e-mail clients for receiving and sending e-mails, and instant messaging clients. For such applications, a corresponding server and a corresponding service program are required in the network to provide corresponding services, such as database services, configuration parameter services, and the like, so that a specific communication connection needs to be established between the client terminal and the server terminal to ensure the normal operation of the application program.
2. A server: the cloud server may be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server providing basic cloud computing services such as cloud service, a cloud database, cloud computing, a cloud function, cloud storage, Network service, cloud communication, middleware service, domain name service, security service, Content Delivery Network (CDN), big data, an artificial intelligence platform and the like.
3. The application of the host comprises the following steps: also called Host program or Host environment, refers to a software environment under computer environment where software lives, the environment is called Host (Host), and the Host is running environment, i.e. Host program or Host application. For example, an ASP (Active Server Page) needs to run in an IIS (Internet Information Services), which is a host program. The hosting environment (hosting program or hosting application) may be an operating system, a server program, an application program, and the like.
4. Class (ii): class (Class), a programming term; Object-Oriented Programming (OOP) implements the basis of information encapsulation. A class is a user-defined type of reference data, also called a class type. Each class contains a description of the data and a set of functions that operate on the data or pass messages; the inside of the class encapsulates attributes and methods for manipulating its members. Instances of classes, called objects, are definitions of an object, with behaviors (behaviors) describing what an object can do and the method (method) by which it can operate on the object; containing information about the way the object behaves, such as name, properties, methods, and events.
5. class file: the class file is named Java class file in full name, and can also be called compiled file or class file, so that Java is more suitable for the network mainly in the aspects of platform independence and network mobility; it has the task in terms of platform independence to provide Java programs with binary-form services independent of the underlying host platform. class files break the traditions followed by languages such as C or C + +, and programs written using these traditional languages are typically first compiled and then concatenated into separate binary files that are specific to a particular hardware platform and operating system.
6. class object: also referred to as class objects; in Java, each class has a corresponding class object; that is, when a class is written, after the compilation is completed, a class object is generated in the generated class file to indicate the type information of the class.
7. Interface: the software interface is a reference type for defining an agreement, and other types realize interfaces to ensure that the interfaces support certain operations; the interface specifies the member that must be provided by the class or other interface on which it is implemented; similar to classes, interfaces may contain methods, attributes, indexers, events, and the like as members.
8. The method comprises the following steps: in software development, certain codes need to be used in multiple places, namely the same codes need to be written in different places, and the repeated phenomenon of the codes occurs; in order to solve the problem, the codes needing to be called in multiple places can be packaged into one method, and then the method is called directly in the needed place, so that the codes are not written repeatedly. In addition, in order to complete some complex functions, the complex functions can be modularized, each method completes a certain function, and finally the single methods are called to complete complex operations, so that the code maintenance is facilitated, and the method is a code block combination capable of completing a certain function.
9. A terminal device: also known as User Equipment (UE), Mobile Station (MS), Mobile Terminal (MT), etc., is a device that provides voice and/or data connectivity to a User, e.g., a handheld device with wireless connection function, a vehicle-mounted device, etc. Currently, some examples of terminals are: mobile phone (Mobile phone), tablet computer, notebook computer, palm computer, Mobile Internet Device (MID).
The following briefly introduces the design concept of the embodiments of the present application:
cloud technology refers to a hosting technology for unifying serial resources such as hardware, software, network and the like in a wide area network or a local area network to realize calculation, storage, processing and sharing of data.
The cloud technology is based on the general names of network technology, information technology, integration technology, management platform technology, application technology and the like applied in the cloud computing business model, can form a resource pool, is used as required, and is flexible and convenient. Cloud computing technology will become an important support. Background services of technical network systems require a large amount of computing and storage resources, such as video websites, picture-like websites and more portal websites. With the high development and application of the internet industry, each article may have an own identification mark and needs to be transmitted to a background system for logic processing, data of different levels can be processed separately, and various industry data need strong system background support and can be realized only through cloud computing.
Cloud Security (Cloud Security) refers to a generic term for Security software, hardware, users, organizations, secure Cloud platforms for Cloud-based business model applications. The cloud security integrates emerging technologies and concepts such as parallel processing, grid computing and unknown virus behavior judgment, abnormal monitoring of software behaviors in the network is achieved through a large number of meshed clients, the latest information of trojans and malicious programs in the internet is obtained and sent to the server for automatic analysis and processing, and then the virus and trojan solution is distributed to each client.
The main research directions of cloud security include: 1. the cloud computing security mainly researches how to guarantee the security of the cloud and various applications on the cloud, including the security of a cloud computer system, the security storage and isolation of user data, user access authentication, information transmission security, network attack protection, compliance audit and the like; 2. the cloud of the security infrastructure mainly researches how to adopt cloud computing to newly build and integrate security infrastructure resources and optimize a security protection mechanism, and comprises the steps of constructing a super-large-scale security event and an information acquisition and processing platform through a cloud computing technology, realizing the acquisition and correlation analysis of mass information, and improving the handling control capability and the risk control capability of the security event of the whole network; 3. the cloud security service mainly researches various security services, such as anti-virus services and the like, provided for users based on a cloud computing platform.
With the increasing abundance of clients installed on the terminal device and the continuous update of the functions of each client, the clients often need to be updated after the clients are installed on the terminal device. A common method for updating a client is that a technician uploads a dynamic installation file for updating the client to a server after compiling the dynamic installation file by a compiling tool; when a user starts a client, an optional mode is that a server sends an update prompt message to the client, if the user confirms to update the client, a dynamic installation file for updating the client can be pulled from the server, and a host application of the client runs the dynamic installation file, so that the function of the client is updated; another optional mode is that after determining that the client has the updated dynamic installation file, the server issues the dynamic installation file to the client, and when the user confirms that the client is updated, the host application of the client directly runs the dynamic installation file, so as to upgrade the function of the client. However, when the dynamic installation file is run by the host application of the client, a part of classes or interfaces in the host application need to be relied on in the running process of the dynamic installation file, and if the dynamic installation file is not matched with the host application of the client, the class or interface which needs to be relied on cannot be obtained in the running process of the dynamic installation file, so that the sending of the dynamic installation file is crashed when the host application runs, and the client is flashed off. Moreover, the phenomenon that the dynamically installed file is not matched with the host application of the client is common, for example, due to reasons such as logic abnormality of a background matching code, incomplete background matching rules, or abnormality of a communication network in the process of issuing the dynamically installed file to the client by the server, the dynamically installed file issued to the client by the server may be wrong, so that the dynamically installed file is not matched with the host application of the client. Under the circumstance, abnormal phenomena such as host application crash, client flash back and the like can occur in the client updating process, so that the user experience is poor.
Based on the above problems, an embodiment of the present application provides a client upgrading method, which obtains a dynamic installation file for updating a client, and obtains a matching degree detection file corresponding to the dynamic installation file; the matching degree detection file comprises a detection program, the detection program is generated according to a target object set which is depended on during the running of the dynamic installation file, and the target object set comprises at least one object in the host application of the client; running a detection program in the matching degree detection file; and when the detection program is determined to run normally, determining that the dynamic installation file is matched with the host application, running the dynamic installation file, and upgrading the client. When the server issues the dynamic installation file to the client, the server simultaneously issues a matching degree detection file corresponding to the dynamic installation file, wherein the matching degree detection file comprises a detection program, and when the detection program is generated based on the host application running the dynamic installation file, the dynamic installation file needs to be generated by a target object set in the host application; the host application runs a detection program in the matching degree detection file before running the dynamic installation file, and if the detection program runs normally, the target object required to be relied on in the running process of the dynamic installation file is determined to be matched with the host application of the client, so that the dynamic installation file issued by the client is determined to be matched with the host application of the client, and thus, the dynamic installation file can be determined to rely on the target object contained in the host application of the client in the running process of the dynamic installation file; on the basis, the host application of the client runs the dynamic installation file upgrading client, so that the condition that the client abnormally runs due to mismatching of the host application and the dynamic installation file in the process of running the dynamic installation file can be avoided.
After introducing the design concept of the embodiment of the present application, some simple descriptions are provided below for application scenarios to which the technical solution of the embodiment of the present application can be applied, and it should be noted that the application scenarios described below are only used for describing the embodiment of the present application and are not limited. In the specific implementation process, the technical scheme provided by the embodiment of the application can be flexibly applied according to actual needs.
Fig. 1 is a schematic diagram of an exemplary application scenario according to an embodiment of the present application, and includes a user 10, a terminal 11, and a server 12; wherein, the terminal 11 is installed with a client.
The client in the embodiment of the present application may be any client on the terminal 11, and the server 12 is a server corresponding to the client.
An optional application scenario is that when a client on the terminal 11 needs to be updated, a dynamic installation file for updating the client is generated; generating a matching degree detection file according to a target object set in a host application of a client, which needs to be relied on when the dynamically installed file runs; the matching degree detection file comprises a detection program. The server 12 stores a dynamic installation file for upgrading the client and a matching degree detection file matched with the dynamic installation file.
One optional mode is that the server 12 pushes an update prompt message to the client on the terminal 11, and after receiving an update confirmation message returned by the client, the server 12 issues a dynamic installation file and a corresponding matching degree detection file to the client; or, another optional way is that the server 12 pushes the dynamic installation file and the corresponding matching degree detection file to the client, and after the user confirms that the update is performed through the client, the client is updated according to the dynamic installation file and the corresponding matching degree detection file.
After acquiring the dynamic installation file and the corresponding matching degree detection file, the client runs a detection program in the matching degree detection file; when the detection program is determined to run normally, determining that the dynamic installation file is matched with the host application; and then running the dynamic installation file to update the client.
The server in the embodiment of the present application may be an independent server, or may be a server cluster composed of a plurality of servers.
In combination with the application scenarios described above, the client update method provided by the exemplary embodiment of the present application is described with reference to fig. 2 to fig. 7. It should be noted that the above application scenarios are only shown for the convenience of understanding the spirit and principle of the present application, and the embodiments of the present application are not limited in this respect. Rather, embodiments of the present application may be applied to any scenario where applicable.
As shown in fig. 2, a schematic flow chart of a client updating method provided in the embodiment of the present application is shown, where the method may include the following steps:
step S201, acquiring a dynamic installation file for updating a client, and acquiring a matching degree detection file corresponding to the dynamic installation file; the matching degree detection file comprises a detection program, the detection program is generated according to a target object set which is relied on when the dynamic installation file runs, and the target object set comprises objects in host application of at least one client;
step S202, running a detection program in the matching degree detection file;
and step S203, when the detection program is determined to run normally, determining that the dynamic installation file is matched with the host application, running the dynamic installation file, and updating the client.
The dynamic installation file in the embodiment of the application is a file used for updating the client, and after the dynamic installation file is operated on the client, the function of the client can be updated. When the client needs to be updated, the complete client installation file does not need to be regenerated, and only the dynamic installation file is generated according to the function needing to be updated. For example, the dynamic installation file may be a client plug-in, and the type of the dynamic installation file may be apk, jar, etc.
According to the embodiment of the application, the client can acquire the dynamic installation file for updating the client and the matching degree detection file corresponding to the dynamic installation file from the server;
after the dynamic installation file for updating the client is generated, the dynamic installation file may be scanned by a compiling tool, and a matching degree detection file is generated while scanning, where the generated matching degree detection file includes a detection program.
According to the detection program contained in the matching degree detection file, after the dynamic installation file and the matching degree detection file are sent to the client, the detection program in the matching degree detection file needs to be operated before the client operates the dynamic installation file, if the detection program can normally operate, the dynamic installation file is determined to be matched with the host application of the client, and the dynamic installation file continues to operate.
Wherein, the detection program can be a predefined method; when the detection program is operated, a predefined method can be called, and a code program corresponding to the predefined method is executed to judge whether the dynamic installation file is matched with the host application of the client;
it should be noted that the predefined method may be a Java method; the Java method comprises a method name, a method body, a modifier, a return value type and a parameter type;
wherein, the method name is: the method name and the parameter table together form a method signature;
the method comprises the following steps: the method body comprises specific statements (or called program codes) for defining functions which can be executed by calling the method;
a modifier: a modifier (optional component of the method) for indicating the specific way in which the compiler calls the method and defining the access type of the method;
return value type (return value type): partial methods may return values, and data types of the method return values are defined; in addition, part of the method performs the required operation, but does not return a value, in which case the return value type is the keyword void;
the parameter types are as follows: the parameter in the method is a placeholder; when a method is called, passing a value to a parameter, this value is called an argument or variable; the parameter list refers to the parameter type, sequence and number of parameters of the method; in addition, the parameters in the method are optional, and the method may not contain any parameters.
The detection program in the embodiment of the present application may include a class matching degree detection program and a method matching degree detection program; the class matching degree detection program is used for detecting whether mapping deficiency exists between the dynamic installation file and a class in the host application; the method matching degree detection program is used for detecting whether method signature modification occurs to the dynamic installation file or whether new addition, deletion, modification and the like occur to methods corresponding to abstract classes and interfaces.
When the detection program is operated, whether the detection program normally operates can be judged according to the following modes:
a class matching degree detection program and a method matching degree detection program in the detection program are operated;
if the class loading abnormity does not occur when the class matching degree detection program is operated and the method loading abnormity does not occur when the method matching degree detection program is operated, determining that the detection program normally operates;
otherwise, if class loading abnormity occurs when the class matching degree detection program is operated or method loading abnormity occurs when the method matching degree detection program is operated, the abnormal operation of the detection program is determined.
The following describes in detail a process of generating a matching degree detection file according to an embodiment of the present application:
after the dynamic installation file is generated, determining a target object set of a host application of a client, which needs to be relied on when the dynamic installation file runs;
in some embodiments, when determining the target object set, the code file of the dynamic installation file may be scanned and analyzed, for example, an import code region in the code file may be analyzed, and a target object set of a host application of a client that needs to be relied on when the dynamic installation file runs is obtained;
wherein, the target objects in the target object set can be classes or interfaces.
Intercepting compilation data generated by the host application during compilation after determining a target object set of the host application of the client which needs to be relied on when the dynamic installation file runs; and if the package name or class name of the compiled file in the compiled data is determined to be the file which is dependent on the dynamic installation file during running according to the target object contained in the target object set, intercepting the file which is dependent on the dynamic installation file during running.
For example, the compiled data generated at compile time for the hosted application may be a plurality of ". class" files (for descriptive convenience, the class file is used to replace the application file), and the compiled files may be class (class) files;
in some embodiments, the class object may be constructed by intercepting the generated class file through a Transform (Transform) process.
After intercepting the compiled files which are dependent on the dynamic installation file during operation, determining the type of class objects corresponding to the compiled files; if the type of the class object is an abstract class or an interface, the compiled file is not intercepted; if the type of the class object is a common class, intercepting the compiled file corresponding to the class object of the common class, and acquiring the intercepted edited file; constructing a test method with the same parameters as the method for each method; and inserting the constructed test method into a compiled file. And generating a matching degree detection file according to the intercepted compiling file.
With reference to fig. 3, a process of generating a matching degree detection file in the embodiment of the present application is described below by taking a class file generated by a host application during compiling as an example;
the matching degree detection file is a Java file, for example, the matching degree detection file is checkmatchmatchmatcheddepth.
Step S301, intercepting the class file generated when the host application is compiled through a Transform process, and constructing a class object.
Step S302, determining the class which needs to be depended on when the dynamic installation file runs;
the dynamic installation file operation needs dependent classes, and the classes are dependent host application classes.
Step S303 to step S307 are executed for each class object obtained by the structure:
step S303, judging whether the class object is a class which needs to be relied on when the file is dynamically installed; if so, go to step S304, otherwise go to step S305.
Step S304, judging whether the type of the class object is an abstract class or an interface; if so, go to step S306, otherwise go to step S305.
And step S305, acquiring the next class object.
S306, acquiring all member methods of the class file corresponding to the class object, and constructing a test method with the same parameters as the method;
for example, if the member methods of the class file include method a, method b and method c, an aTest method with the same reference as method a, a bTest method with the same reference as method b and a cetest method with the same reference as method c are constructed; the implementation of the aTest method, the bTest method and the cTest method is null.
Step S307, inserting the testing methods corresponding to all the constructed member methods into corresponding class files;
in implementation, the class file can be operated by javasist, and the constructed test method can be inserted into the class file.
And step S308, generating a matching degree detection file according to each class file.
After the matching degree detection file is generated, a class matching degree detection program and a method matching degree detection program contained in the matching degree detection file are also required to be generated; the following describes in detail the procedures of the class matching degree detection program and the method matching degree detection program generated in the embodiments of the present application:
after the dynamic installation file is obtained, determining a target object set of a host application of a client which needs to be depended on when the dynamic installation file runs;
in some embodiments, when determining the target object set, scanning and analyzing a code file of the dynamic installation file may be performed, for example, an import (import) code region in the code file may be analyzed, and a target object set of a host application of a client that needs to be relied on when the dynamic installation file runs is obtained;
wherein, the target objects in the target object set can be classes or interfaces.
After the target object set is obtained, determining packet name paths and name information corresponding to each target object in the target object set;
for example, when the target object is a class, the name information is a class name; and when the target object is an interface, the name information is the interface name.
After the packet name path and the name information corresponding to each target object in the target object set are obtained, on one hand, the packet name path and the name information corresponding to each target object are traversed, spliced into a confusion rule according to a preset first rule and stored;
it should be noted that, the obfuscation rule is generated and stored to ensure that each target object on which the dynamic installation file depends is not obfuscated when the code of the host application and the code file of the dynamic installation file are packaged into the apk file.
In addition, the packet name paths and name information corresponding to each target object in the target object set are spliced into first code data according to a preset second rule; generating a class matching degree detection program according to the obtained first code data;
in some embodiments, the preset second rule may be an execution order of each target object in the target object set in the host application, and the packet name path and the name information corresponding to each target object are spliced into the first code data according to the execution order of each target object in the target object set in the host application;
wherein the first code data may be a test code block;
when the class matching degree detection program is generated according to the obtained first code data, the first code data can be written into a predefined class matching degree detection program; for example, if the matching degree detection file is checkmatchchdegree.java and the predefined class matching degree detection program is the checkClassDegree method, the first code data obtained by splicing is written into the checkClassDegree method of checkmatchchdegree.java.
After the class matching degree detection program is generated, a method matching degree detection program in a matching degree detection file needs to be generated.
One optional implementation manner is that a compiled file corresponding to each target object in the target object set is obtained from compiled data corresponding to the host application; generating subcode data corresponding to each compiled file according to the method code data contained in each compiled file; forming second code data by using the subcode data corresponding to each compiled file; and generating a method matching degree detection program according to the obtained second code data.
In some embodiments, a compiled file corresponding to each target object in a target object set is obtained from compiled data corresponding to a host application, the obtained compiled file corresponding to each target object is copied to a temporary directory, and a jar packet of which a dynamic installation file depends on the host application is generated;
when generating child code data corresponding to each compiled file according to the method code data included in each compiled file, if the type of the class object corresponding to the compiled file is different, the manner of generating the child code data corresponding to each compiled file is also different.
After a jar packet that a dynamic installation file depends on a host application is generated, modifying each compiled file based on a compiling script conversion (Gradle Transform) flow, and constructing to obtain class objects corresponding to each compiled file;
in implementation, a jar package can be imported into a defined verification project for compiling, and class files compiled by the jar package are modified by using a Gradle Transform flow, so that class objects corresponding to all compiled files are constructed and obtained.
After the class objects corresponding to the compiled files are constructed, determining the type of each class object;
the types of the class objects comprise abstract classes, interfaces and common classes;
it should be noted that, when the class object is not an abstract class and is not an interface, the type of the class object may be determined to be a normal class.
For example, compiling the files into class files, acquiring the content of each class file through an isInterface () method, and judging the content in the class files to be a class or an interface; if the content in the class file is determined to be a class, further judging whether the content is an abstract class.
1. Compiling the class object corresponding to the file into an abstract class object or interface;
and when determining the subcode data corresponding to the compiled file, acquiring the method code data contained in the compiled file, and updating the method code data contained in the compiled file in an anonymous internal class mode to obtain the subcode data corresponding to the compiled file.
It should be noted that, if the compiled file is a class file, and a class object corresponding to the class file is an abstract class or an interface, the method of the abstract class or the interface is rewritten through an implementation method of an anonymous internal class, so as to generate child code data; the generated sub-code data may be a test code block.
2. The class object corresponding to the compiled file is a common class;
and when the subcode data corresponding to the compiled file is determined, constructing a test method with the same parameters as those in the method code data according to the method code data contained in the compiled file, and generating subcode data for calling the test method.
In implementation, the file is compiled into a class file, and all methods of the class file of a common class are obtained, for example, all public interface methods can be used; and constructing a test method with the same parameters as the method.
For example, if the method of class file includes method a, method b, and method c, then the structure is similar to method a
The atcest method with the same reference, the bTest method with the same reference as method b, and the cetest method with the same reference as method c; the implementation of the aTest method, the bTest method and the cTest method is null.
When the subcode data corresponding to each compiled file is obtained, the subcode data corresponding to all the compiled files are formed into code blocks and written into a predefined method matching degree detection program; for example, if the matching degree detection file is checkmatchchdepth.
The following describes a procedure of the class matching degree detection program and the method matching degree detection program according to the embodiment of the present application with reference to fig. 4, and specifically includes the following steps:
step S401, after the dynamic installation file is obtained, determining a target object set of a host application of a client, which needs to be relied on when the dynamic installation file runs;
wherein, the target object can be a class or an interface;
in implementation, the code file of the dynamic installation file can be scanned and analyzed, an import code region in the code file is analyzed, a class or an interface of a host application of a client, which needs to be relied on when the dynamic installation file runs, is obtained, and the class and the interface which need to be relied on form a target object set.
Step S402, determining a packet name path and name information corresponding to each target object in a target object set;
for example, when the target object is a class, the name information is a class name; when the target object is an interface, the name information is an interface name.
Step S403, splicing the package name paths and the name information corresponding to the target objects into a confusion rule file;
after the packet name path and the name information corresponding to the target object are spliced into the confusion rule file, when the host application and the code file of the dynamic installation file are packed into the apk file, each target object which is depended on by the dynamic installation file is ensured not to be confused.
S404, splicing the packet name path and the name information corresponding to each target object into first code data according to a preset splicing rule;
when the package name paths and the name information corresponding to the target objects are spliced into the first code data, a class.
Step S405, writing the spliced first code data into a class matching degree detection program of a matching degree detection file;
the matching degree detection file can be CheckMatchDegrid.
And S406, obtaining a class file corresponding to each target object in the target object set from the compiled product of the host application, copying the obtained class file to a temporary directory, and generating a jar package of the dependence of the dynamic installation file on the host application.
And step S407, importing a jar package in the defined verification project for compiling.
And step S408, modifying the class file compiled by the jar packet through a Gradle Transform flow, and constructing to obtain the class object corresponding to each class file.
And step S409, obtaining class object types and corresponding method code data corresponding to all class files in the jar package.
Steps S410 to S413 are performed for each class file:
step S410, judging whether the type of the class object corresponding to the class file is an abstract class or an interface; if yes, go to step S411, otherwise go to step S412.
And S411, obtaining the method code data contained in the class file, and updating the code data contained in the class file in an anonymous internal class mode to obtain the sub-code data corresponding to the class file.
Step S412, constructing a test method with the same parameters as those in the method code data according to the method code data contained in the class file, and inserting the test method into the class file;
it should be noted that the implementation of the test method constructed with the same parameters as the method code data is a null implementation.
And step S413, generating child code data for calling the test method.
And step S414, forming the child code data of each class file into second code data.
Step S415, writing the second code data into a method matching degree detection program of the matching degree detection file;
the matching degree detection file can be CheckMatchDegrid.
After the matching degree detection file corresponding to the dynamic installation file is generated and when the client is updated, an optional implementation manner is that the dynamic installation file and the matching degree detection file are packaged and then sent to the client;
for example, the dynamic installation file and the matching degree detection file may be packaged into a compressed file, and the type of the compressed file may be a ZIP file.
After receiving the packaged dynamic installation file and the matching degree detection file, the client firstly runs the matching degree detection file; in implementation, the client can run the matching degree detection file through the host application;
the matching degree detection file comprises a class matching degree detection program and a method matching degree detection program; and when the matching degree detection file is operated by the client, calling a class matching degree detection program and a method matching degree detection program contained in the matching degree detection file.
In the process of running the matching degree detection file at the client, judging whether a class matching degree detection program and a method matching degree detection program contained in the matching degree detection file run normally or not;
in some embodiments, when the client runs the matching degree detection file, a class matching degree detection program is executed first; if the class loading is abnormal when the class matching degree detection program is executed, the mapping loss of the classes in the dynamic installation file and the host application is shown, the client stops running the matching degree detection file, and the client quits updating;
if the class loading abnormity is not found, continuously executing a method matching degree detection program; if the method loading is found to be abnormal when the method matching degree detection program is executed, the method signature is modified, or the method in the class file of the abstract class or the interface is newly added, deleted or modified, the client stops running the matching degree detection file, and the client quits updating;
if the method loading abnormality is not found, determining that the dynamic installation file is matched with the host application; the client continues to run the dynamic installation file, so that the abnormal phenomenon can be avoided in the process of running the dynamic installation file, and the client is updated.
The following describes a process of updating a client according to an embodiment of the present application with reference to fig. 5, which specifically includes the following steps:
step S501, a client receives a dynamic installation file and a matching degree detection file; the matching degree detection file comprises a class matching degree detection program and a method matching degree detection program;
for example, the matching degree detection file may be checkmatchmatchchdegree. java, the class matching degree detection program may be a checkClassDegree method, and the method matching degree detection program may be a checkmethoddedree method.
Step S502, the client runs the matching degree detection file and calls a class matching degree detection program in the matching degree detection file.
Step S503, the client judges whether class loading abnormity occurs when the class matching degree detection program is called; if yes, executing step S507, otherwise, executing step S504;
step S504, the client side calls a method matching degree detection program in the matching degree detection file.
Step S505, the client judges whether method loading abnormity occurs when the method matching degree detection program is called; if yes, go to step S507, otherwise go to step S506;
step S506, the client determines that the dynamic installation file is matched with the host application, and operates the dynamic installation file to update the client.
And step S507, the client stops running the matching degree detection file, and exits from updating the client.
The following describes a client update process according to an embodiment of the present application, with reference to an optional application scenario of the present application:
when the client needs to be updated, generating a dynamic installation file for updating the client, and generating a matching degree detection file matched with the dynamic installation file according to the generated dynamic installation file; the matching degree detection file comprises a class matching degree detection program and a method matching degree detection program.
It should be noted that, in the embodiment of the present application, reference may be made to the method for generating the matching degree detection file matched with the dynamic installation file.
After the matching degree detection file, an optional implementation manner is that the matching degree detection file is uploaded to a server; when the client needs to be updated, the server can send an update prompt to the client, and when a user starts the client, the server sends the dynamic installation file and the matching degree detection file to the client after determining to update the client according to the update prompt sent by the server.
For example, as shown in fig. 6, after the server sends the update prompt to the client, the user starts the client, and displays the prompt information on whether to perform version update in the display interface of the client; and after the user selects and determines to update, the client acquires the dynamic installation file and the matching degree detection file from the server.
As shown in fig. 7, in the embodiment of the present application, when updating a client, an interaction flow between a server and the client is as follows:
step S701, when the server determines that the client needs to be updated, an update prompt is sent to the client;
step S702, after determining to update according to user operation, the client sends update confirmation information to the server;
step S703, the server packs the dynamic installation files and the matching degree detection files and then sends the dynamic installation files and the matching degree detection files to the client;
step S704, the client runs a matching degree detection file and calls a class matching degree detection program in the matching degree detection file;
step S705, if it is determined that class loading abnormity does not occur, the client calls a method matching degree detection program in the matching degree detection file;
step S706, if it is determined that the method loading exception does not occur, the client determines that the dynamic installation file is matched with the host application, and runs the dynamic installation file to update the client.
Based on the same inventive concept, the embodiment of the present application further provides a client update apparatus, and as the principle of the apparatus for solving the problem is similar to that of the client update method, the implementation of the apparatus may refer to the implementation of the method, and repeated details are not repeated.
As shown in fig. 8, a schematic structural diagram of a client update apparatus provided in an embodiment of the present application includes:
an obtaining unit 801, configured to obtain a dynamic installation file used for updating a client, and obtain a matching degree detection file corresponding to the dynamic installation file; the matching degree detection file comprises a detection program, the detection program is generated according to a target object set which is depended on by the dynamic installation file during runtime, and the target object set comprises at least one object in the host application of the client;
a processing unit 802, configured to run the detection program in the matching degree detection file;
an updating unit 803, configured to determine that the dynamic installation file is matched with the host application when it is determined that the detection program runs normally, run the dynamic installation file, and update the client.
Optionally, the detection program includes a class matching degree detection program and a method matching degree detection program;
the updating unit 803 is specifically configured to:
when a class matching degree detection program in the detection programs is operated, determining that class loading abnormity does not occur;
and determining that no method loading exception occurs when the method matching degree detection program in the matching degree detection file is operated.
Optionally, the obtaining unit 801 is further configured to:
before a matching degree detection file corresponding to the dynamic installation file is obtained, according to the execution sequence of each target object in the target object set in the host application, splicing the packet name path and the name information corresponding to each target object to obtain first code data;
and generating the class matching degree detection program according to the obtained first code data.
Optionally, the obtaining unit 801 is further configured to:
before obtaining a matching degree detection file corresponding to the dynamic installation file, obtaining a compiled file corresponding to each target object in the target object set from compiled data corresponding to the host application;
generating subcode data corresponding to each compiled file according to the method code data contained in each compiled file;
composing the sub-code data corresponding to each compiled file into the second code data;
and generating the method matching degree detection program according to the obtained second code data.
Optionally, the obtaining unit 801 is specifically configured to:
the following operations are respectively executed for each compiled file:
if the class object corresponding to one compiled file in each compiled file is an abstract class object or an interface, updating the method code data contained in the compiled file in an anonymous internal class mode to obtain sub-code data corresponding to the compiled file;
and if the class object corresponding to one compiled file in the compiled files is a common class object, constructing a test method with the same parameters as those in the method code data according to the method code data contained in the compiled file, and generating subcode data for calling the test method.
Optionally, the obtaining unit 801 is further configured to:
after the compiled files corresponding to the target objects in the target object set are obtained from the compiled data corresponding to the host application, modifying each compiled file based on a compiling script conversion process before generating subcode data corresponding to each compiled file according to the method code data contained in each compiled file, and constructing to obtain class objects corresponding to each compiled file.
For convenience of description, the above parts are described separately as modules (or units) according to functions. Of course, the functionality of the various modules (or units) may be implemented in the same one or more pieces of software or hardware when implementing the present application.
As will be appreciated by one skilled in the art, each aspect of the present application may be embodied as a system, method or program product. Accordingly, each aspect of the present application may be embodied in the form of: an entirely hardware embodiment, an entirely software embodiment (including firmware, microcode, etc.), or an embodiment combining hardware and software aspects that may all generally be referred to herein as a "circuit," module "or" system.
In some possible implementations, embodiments of the present application further provide an electronic device, and referring to fig. 9, the electronic device 900 may include at least one processor 901 and at least one memory 902. The memory 902 stores program codes, and when the program codes are executed by the processor 901, the processor 901 is enabled to execute the steps in the client updating method according to various exemplary embodiments of the present application described above in this specification, for example, the processor 901 may execute the steps shown in fig. 2, fig. 3, fig. 4, fig. 5, and fig. 7.
In some possible implementations, the present application further provides a computing device, which may include at least one processing unit and at least one storage unit. Wherein the storage unit stores program code, and when the program code is executed by the processing unit, the processing unit is enabled to execute the steps in the client updating method according to various exemplary embodiments of the present application described above in this specification, for example, the processor 901 may execute the steps shown in fig. 2, fig. 3, fig. 4, fig. 5, and fig. 7.
A computing device 1000 according to this embodiment of the present application is described below with reference to fig. 10. The computing device 1000 of fig. 10 is only one example and should not be used to limit the scope of use and functionality of embodiments of the present application.
As shown in fig. 10, computing device 1000 is embodied in the form of a general purpose computing device. Components of computing device 1000 may include, but are not limited to: the at least one processing unit 1001, the at least one memory unit 1002, and a bus 1003 connecting different system components (including the memory unit 1002 and the processing unit 1001).
Bus 1003 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, a processor, or a local bus using any of a variety of bus architectures.
The storage unit 1002 may include readable media in the form of volatile memory, such as Random Access Memory (RAM)1021 or cache memory 1022, and may further include Read Only Memory (ROM) 1023.
Storage unit 1002 may also include a program/utility 1025 having a set (at least one) of program modules 1024, such program modules 1024 including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which, or some combination thereof, may comprise an implementation of a network environment.
The computing device 1000 may also communicate with one or more external devices 1004 (e.g., keyboard, pointing device, etc.), as well as with one or more devices that enable a user to interact with the computing device 1000, or with any devices (e.g., router, modem, etc.) that enable the computing device 1000 to communicate with one or more other computing devices. Such communication may occur through input/output (I/O) interfaces 1005. Moreover, computing device 1000 may also communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), or a public network such as the internet) through network adapter 1006. As shown, the network adapter 1006 communicates with the other modules for the computing device 1000 over a bus 1003. It should be understood that although not shown in the figures, other hardware or software modules may be used in conjunction with the computing device 1000, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, to name a few.
In some possible embodiments, each aspect of the client updating method provided by the present application may also be implemented in the form of a program product, which includes program code for causing a computer device to perform the steps in the client updating method according to various exemplary embodiments of the present application described above in this specification, when the program product runs on a computer device, for example, the computer device may perform the steps as shown in fig. 2, fig. 3, fig. 4, fig. 5, fig. 7.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
While the preferred embodiments of the present application have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including the preferred embodiment and all changes and modifications that fall within the scope of the present application.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the spirit and scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include such modifications and variations as well.

Claims (14)

1. A client update method, the method comprising:
acquiring a dynamic installation file for updating a client, and acquiring a matching degree detection file corresponding to the dynamic installation file; the matching degree detection file comprises a detection program, the detection program is generated according to a target object set which is depended on by the dynamic installation file during runtime, and the target object set comprises at least one object in the host application of the client;
running the detection program in the matching degree detection file;
and when the detection program is determined to run normally, determining that the dynamic installation file is matched with the host application, running the dynamic installation file, and updating the client.
2. The method of claim 1, wherein the detection procedure includes a class match detection procedure and a method match detection procedure;
the determining that the detection program operates normally includes:
determining that class loading abnormity does not occur when a class matching degree detection program in the detection programs is operated;
and determining that no method loading exception occurs when the method matching degree detection program in the detection program is operated.
3. The method of claim 2, prior to obtaining the match-degree detection file corresponding to the dynamic installation file, further comprising:
according to the execution sequence of each target object in the target object set in the host application, carrying out splicing processing on the packet name path and the name information corresponding to each target object to obtain first code data;
and generating the class matching degree detection program according to the obtained first code data.
4. The method of claim 2, prior to obtaining the match-degree detection file corresponding to the dynamic installation file, further comprising:
acquiring compiled files corresponding to all target objects in the target object set from the compiled data corresponding to the host application;
generating subcode data corresponding to each compiled file according to the method code data contained in each compiled file;
forming second code data by using the subcode data corresponding to each compiled file;
and generating the method matching degree detection program according to the obtained second code data.
5. The method according to claim 4, wherein the generating of the sub-code data corresponding to each compiled file according to the method code data included in each compiled file comprises:
the following operations are respectively executed for each compiled file:
if the class object corresponding to one compiled file in each compiled file is an abstract class object or an interface, updating the method code data contained in the compiled file in an anonymous internal class mode to obtain sub-code data corresponding to the compiled file;
and if the class object corresponding to one compiled file in the compiled files is a common class object, constructing a test method with the same parameters as those in the method code data according to the method code data contained in the compiled file, and generating subcode data for calling the test method.
6. The method according to claim 5, wherein after obtaining the compiled file corresponding to each target object in the target object set from the compiled data corresponding to the host application, before generating the sub-code data corresponding to each compiled file according to the method code data included in each compiled file, the method further comprises:
and modifying each compiled file based on a compiled script conversion process to construct and obtain a class object corresponding to each compiled file.
7. A client update apparatus, the apparatus comprising:
the system comprises an acquisition unit, a storage unit and a processing unit, wherein the acquisition unit is used for acquiring a dynamic installation file used for updating a client and acquiring a matching degree detection file corresponding to the dynamic installation file; the matching degree detection file comprises a detection program, the detection program is generated according to a target object set which is depended on by the dynamic installation file during operation, and the target object set comprises at least one object in a host application of the client;
the processing unit is used for operating the detection program in the matching degree detection file;
and the updating unit is used for determining that the dynamic installation file is matched with the host application when the detection program is determined to normally run, running the dynamic installation file and updating the client.
8. The apparatus of claim 7, wherein the detection procedure comprises a class match detection procedure and a method match detection procedure;
the update unit is specifically configured to:
when a class matching degree detection program in the detection programs is operated, determining that class loading abnormity does not occur;
and determining that no method loading exception occurs when the method matching degree detection program in the detection program is operated.
9. The apparatus as recited in claim 8, said obtaining unit to further:
before the matching degree detection file corresponding to the dynamic installation file is obtained, according to the execution sequence of each target object in the target object set in the host application, splicing the packet name path and the name information corresponding to each target object to obtain first code data;
and generating the class matching degree detection program according to the obtained first code data.
10. The apparatus as recited in claim 8, said obtaining unit to further:
before a matching degree detection file corresponding to the dynamic installation file is obtained, obtaining a compiled file corresponding to each target object in the target object set from compiled data corresponding to the host application;
generating subcode data corresponding to each compiled file according to the method code data contained in each compiled file;
forming second code data by using the subcode data corresponding to each compiled file;
and generating the method matching degree detection program according to the obtained second code data.
11. The apparatus according to claim 10, wherein the obtaining unit is specifically configured to:
the following operations are respectively executed for each compiled file:
if the class object corresponding to one compiled file in each compiled file is an abstract class object or an interface, updating the method code data contained in the compiled file in an anonymous internal class mode to obtain sub-code data corresponding to the compiled file;
if the class object corresponding to one compiled file in each compiled file is a common class object, constructing a test method with the same parameters as those in the method code data according to the method code data contained in the compiled file, and generating subcode data for calling the test method.
12. The apparatus as recited in claim 11, said obtaining unit to further:
after the compiled files corresponding to the target objects in the target object set are obtained from the compiled data corresponding to the host application, modifying each compiled file based on a compiling script conversion process before generating subcode data corresponding to each compiled file according to the method code data contained in each compiled file, and constructing to obtain class objects corresponding to each compiled file.
13. An electronic device comprising a processor and a memory, wherein the memory stores program code that, when executed by the processor, causes the processor to perform the method of any of claims 1-6.
14. A computer-readable storage medium, characterized in that it comprises program code for causing an electronic device to perform the method of any of claims 1-6 when the program code is run on the electronic device.
CN202110097055.9A 2021-01-25 2021-01-25 Client updating method and device, electronic equipment and computer storage medium Pending CN114791821A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110097055.9A CN114791821A (en) 2021-01-25 2021-01-25 Client updating method and device, electronic equipment and computer storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110097055.9A CN114791821A (en) 2021-01-25 2021-01-25 Client updating method and device, electronic equipment and computer storage medium

Publications (1)

Publication Number Publication Date
CN114791821A true CN114791821A (en) 2022-07-26

Family

ID=82459234

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110097055.9A Pending CN114791821A (en) 2021-01-25 2021-01-25 Client updating method and device, electronic equipment and computer storage medium

Country Status (1)

Country Link
CN (1) CN114791821A (en)

Similar Documents

Publication Publication Date Title
US10698797B2 (en) Mobile application program testing method, server, terminal, and storage medium
CN110928770B (en) Software testing method, device, system, storage medium and electronic equipment
CN105224869A (en) Assembly test method and device
CN111740948B (en) Data packet issuing method, dynamic updating method, device, equipment and medium
CN112769706B (en) Componentized routing method and system
CN111026439B (en) Application program compatibility method, device, equipment and computer storage medium
CN110297776B (en) Detection report generation and reception methods, devices, equipment and storage medium
US20230259358A1 (en) Documentation enforcement during compilation
CN112631590A (en) Component library generation method and device, electronic equipment and computer readable medium
US10459698B2 (en) Framework for generating adapters in an integrated development environment
CN112527386B (en) Application program issuing method and device
CN109818972B (en) Information security management method and device for industrial control system and electronic equipment
CN116069341A (en) Automatic deployment method, equipment and storage medium for application program
CN111563257A (en) Data detection method and device, computer readable medium and terminal equipment
CN113268245A (en) Code analysis method, device and storage medium
CN113111005A (en) Application program testing method and device
CN113138768A (en) Application package generation method and device, electronic equipment and readable storage medium
Mostafa et al. Netdroid: Summarizing network behavior of android apps for network code maintenance
CN115859280A (en) Memory horse detection method, device, equipment and storage medium
CN114791821A (en) Client updating method and device, electronic equipment and computer storage medium
CN115185644A (en) Detection method, system, equipment and storage medium based on container interactive application
CN109933990B (en) Multi-mode matching-based security vulnerability discovery method and device and electronic equipment
CN114924742A (en) Hot patch making and applying method and device for virtual machine simulation software
CN111488286B (en) Method and device for independently developing Android modules
CN109714371B (en) Industrial control network safety detection system

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